* * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Flarum\Http\Middleware; use Exception; use Franzl\Middleware\Whoops\WhoopsRunner; use Psr\Http\Message\ResponseInterface as Response; use Psr\Http\Message\ServerRequestInterface as Request; use Psr\Http\Server\MiddlewareInterface as Middleware; use Psr\Http\Server\RequestHandlerInterface as Handler; class HandleErrorsWithWhoops implements Middleware { /** * Catch all errors that happen during further middleware execution. */ public function process(Request $request, Handler $handler): Response { try { return $handler->handle($request); } catch (Exception $e) { return WhoopsRunner::handle($e, $request); } } }