aboutsummaryrefslogtreecommitdiff
path: root/lib/classes/JsonApi/Middlewares/DangerousRouteHandler.php
blob: 8ff78803a07a7db6fae3c230c8a2e7990dae2278 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php

namespace JsonApi\Middlewares;

use Psr\Http\Message\ResponseInterface;
use Psr\Http\Message\ServerRequestInterface as Request;
use Psr\Http\Server\RequestHandlerInterface as RequestHandler;
use Slim\Psr7\Response;

/**
 * TODO.
 */
class DangerousRouteHandler
{
    /**
     * TODO.
     *
     * @param Request        $request das Request-Objekt
     * @param RequestHandler $handler der PSR-15 Request Handler
     *
     * @return ResponseInterface das neue Response-Objekt
     */
    public function __invoke(Request $request, RequestHandler $handler)
    {
        if (\Config::get()->getValue('JSONAPI_DANGEROUS_ROUTES_ALLOWED')) {
            return $handler->handle($request);
        }
        $response = new Response();

        return $response->withStatus(503)->write('Service Unavailable.');
    }
}