Lines
0.00%
0 / 11
Functions and Methods
0.00%
0 / 1
Classes and Traits
0.00%
0 / 1
| Name | Lines | Functions and Methods | CRAP | Classes and Traits | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| MaintenanceMiddleware | 0.00% | 0 / 11 | 0.00% | 0 / 1 | 6 | 0.00% | 0 / 1 | |||
| process | 0.00% | 0 / 11 | 0.00% | 0 / 1 | 6 | |||||
| 1 | <?php | |
| 2 | ||
| 3 | declare(strict_types=1); | |
| 4 | ||
| 5 | namespace BO\Zmscitizenapi\Middleware; | |
| 6 | ||
| 7 | use BO\Zmscitizenapi\Utils\ErrorMessages; | |
| 8 | use Psr\Http\Message\ResponseInterface; | |
| 9 | use Psr\Http\Message\ServerRequestInterface; | |
| 10 | use Psr\Http\Server\MiddlewareInterface; | |
| 11 | use Psr\Http\Server\RequestHandlerInterface; | |
| 12 | ||
| 13 | class MaintenanceMiddleware implements MiddlewareInterface | |
| 14 | { | |
| 15 | private const int HTTP_UNAVAILABLE = 503; | |
| 16 | private const string ERROR_UNAVAILABLE = 'serviceUnavailable'; | |
| 17 | #[\Override] | |
| 18 | public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface | |
| 19 | { | |
| 20 | if (\App::MAINTENANCE_MODE_ENABLED) { | |
| 21 | $error = ErrorMessages::get(self::ERROR_UNAVAILABLE); | |
| 22 | ||
| 23 | $response = \App::$slim->getResponseFactory()->createResponse(); | |
| 24 | $response = $response->withStatus(self::HTTP_UNAVAILABLE) | |
| 25 | ->withHeader('Content-Type', 'application/json; charset=utf-8'); | |
| 26 | ||
| 27 | $responseBody = json_encode([ | |
| 28 | 'errors' => [$error] | |
| 29 | ]); | |
| 30 | $response->getBody()->write($responseBody); | |
| 31 | return $response; | |
| 32 | } | |
| 33 | ||
| 34 | return $handler->handle($request); | |
| 35 | } | |
| 36 | } |