Skip to content

PSR-15 middleware to display a 503 maintenance page

License

Notifications You must be signed in to change notification settings

middlewares/shutdown

Repository files navigation

middlewares/shutdown

Latest Version on Packagist Software License Testing Total Downloads

Middleware to display a 503 maintenance page.

Requirements

Installation

This package is installable and autoloadable via Composer as middlewares/shutdown.

composer require middlewares/shutdown

Example

$dispatcher = new Dispatcher([
	(new Middlewares\Shutdown())->retryAfter(60 * 5)
]);

$response = $dispatcher->dispatch(new ServerRequest());

Usage

This middleware generates a 503 response to display while the server is in maintenance. Optionally, you can provide a Psr\Http\Message\ResponseFactoryInterface used to create the responses. If it's not defined, Middleware\Utils\Factory will be used to detect it automatically.

$responseFactory = new MyOwnResponseFactory();

$maintenance = new Middlewares\Shutdown($responseFactory);

retryAfter

If known, the length of the downtime in seconds or the estimated date and time when the downtime will be complete. More info about why this

//Retry after 5 minutes
$maintenance = (new Middlewares\Shutdown())->retryAfter(60 * 5);

//You can use also a DateTimeInterface object
$maintenance = (new Middlewares\Shutdown())->retryAfter(new Datetime('+5 minutes'));

render

Use this option to customize the content of the response by providing a callable that returns a string:

//Load a html file
$maintenance = (new Middlewares\Shutdown())->render(function () {
	return file_get_contents('503.html');
});

Please see CHANGELOG for more information about recent changes and CONTRIBUTING for contributing details.

The MIT License (MIT). Please see LICENSE for more information.