Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
6 / 6
100.00% covered (success)
100.00%
2 / 2
CRAP
100.00% covered (success)
100.00%
1 / 1
Route
100.00% covered (success)
100.00%
6 / 6
100.00% covered (success)
100.00%
2 / 2
3
100.00% covered (success)
100.00%
1 / 1
 __construct
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getInfo
100.00% covered (success)
100.00%
5 / 5
100.00% covered (success)
100.00%
1 / 1
2
1<?php
2
3/**
4 * @copyright BerlinOnline Stadtportal GmbH & Co. KG
5 **/
6
7namespace BO\Slim\Middleware;
8
9use BO\Slim\Container;
10use Psr\Http\Message\ResponseInterface;
11use Psr\Http\Message\ServerRequestInterface;
12use Psr\Http\Server\RequestHandlerInterface;
13use Slim\Routing\RouteContext;
14
15class Route
16{
17    protected Container $container;
18
19    public function __construct(Container $container)
20    {
21        $this->container = $container;
22    }
23
24    /** @psalm-api Called by Slim as middleware. */
25    public function getInfo(ServerRequestInterface $request, RequestHandlerInterface $next): ResponseInterface
26    {
27        $routeInstance = $request->getAttribute(RouteContext::ROUTE);
28        if ($routeInstance instanceof \Slim\Routing\Route) {
29            $this->container['currentRoute'] = $routeInstance->getName();
30            $this->container['currentRouteParams'] = $routeInstance->getArguments();
31        }
32
33        return $next->handle($request);
34    }
35}