More cleanup and fixes

This commit is contained in:
Alexander Skvortsov 2021-03-25 12:58:51 -04:00
parent f5fbaf46a9
commit 827366fa9c
2 changed files with 5 additions and 17 deletions

View File

@ -14,11 +14,8 @@ use Flarum\Frontend\Frontend;
use Flarum\Http\Content\NotAuthenticated;
use Flarum\Http\Content\NotFound;
use Flarum\Http\Content\PermissionDenied;
use Flarum\Settings\SettingsRepositoryInterface;
use Illuminate\Contracts\Container\Container;
use Psr\Http\Message\ResponseInterface as Response;
use Psr\Http\Message\ServerRequestInterface as Request;
use Symfony\Component\Translation\TranslatorInterface;
/**
* This formatter will route certain errors to the SPA frontend.
@ -37,16 +34,14 @@ class FrontendFormatter implements HttpFormatter
public function format(HandledError $error, Request $request): Response
{
$frontend = $this->container->make('flarum.frontend.forum');
if ($error->getStatusCode() === 401) {
$frontend->content(new NotAuthenticated);
$this->frontend->content(new NotAuthenticated);
} elseif ($error->getStatusCode() === 403) {
$frontend->content(new PermissionDenied);
$this->frontend->content(new PermissionDenied);
} elseif ($error->getStatusCode() === 404) {
$frontend->content(new NotFound);
$this->frontend->content(new NotFound);
}
return (new Controller($frontend))->handle($request)->withStatus($error->getStatusCode());
return (new Controller($this->frontend))->handle($request)->withStatus($error->getStatusCode());
}
}

View File

@ -20,7 +20,6 @@ use Flarum\Foundation\ErrorHandling\FrontendFormatter;
use Flarum\Foundation\ErrorHandling\Registry;
use Flarum\Foundation\ErrorHandling\Reporter;
use Flarum\Foundation\ErrorHandling\WhoopsFormatter;
use Flarum\Frontend\Frontend;
use Flarum\Http\Exception\RouteNotFoundException;
use Flarum\User\Exception\NotAuthenticatedException;
use Flarum\User\Exception\PermissionDeniedException;
@ -84,17 +83,11 @@ class HttpServiceProvider extends AbstractServiceProvider
$this->container->singleton('flarum.http.frontend_handler', function () {
return new Middleware\HandleErrors(
$this->container->make(Registry::class),
$this->container['flarum']->inDebugMode() ? $this->container->make(WhoopsFormatter::class) : $this->container->make(FrontendFormatter::class),
$this->container['flarum']->inDebugMode() ? $this->container->make(WhoopsFormatter::class) : new FrontendFormatter($this->container->make('flarum.frontend.forum')),
$this->container->tagged(Reporter::class),
$this->container->make('flarum.http.frontend_exceptions')
);
});
$this->container->when(FrontendFormatter::class)
->needs(Frontend::class)
->give(function () {
return $this->container->make('flarum.frontend.forum');
});
}
/**