Skip to main content

Middleware

Slim Framework uses middleware to run code before and after your Slim application to manipulate the Request and Response objects as you see fit. This can be used to authenticate requests before your app runs or protect your app from cross-site request forgery. ./config/middleware.php is the place to do this.

Check out https://www.slimframework.com/docs/v4/concepts/middleware.html for detailed information.

config/middelware.php
return function (App $app) {
/** @var Settings $settings */
$settings = $app->getContainer()->get(Settings::class);

$errorMiddleware = $app->addErrorMiddleware(
$settings->get('slim.displayErrorDetails'),
$settings->get('slim.logErrors'),
$settings->get('slim.logErrorDetails'),
);

/** @var \Slim\Handlers\ErrorHandler $errorHandler */
$errorHandler = $errorMiddleware->getDefaultErrorHandler();
if (!$settings->get('slim.whoops.enabled')) {
$errorHandler->registerErrorRenderer('text/html', DefaultHtmlErrorRenderer::class);
$errorHandler->setDefaultErrorRenderer('text/html', DefaultHtmlErrorRenderer::class);

return;
}

$errorHandler->registerErrorRenderer('text/html', WhoopsHtmlErrorRenderer::class);
$errorHandler->registerErrorRenderer('application/json', WhoopsJsonErrorRenderer::class);
$errorHandler->setDefaultErrorRenderer('text/html', WhoopsHtmlErrorRenderer::class);
};