PSR7Sessions\Storageless\Http\SessionMiddleware::__invoke PHP Method

__invoke() public method

public __invoke ( Psr\Http\Message\ServerRequestInterface $request, Psr\Http\Message\ResponseInterface $response, callable $out = null ) : Psr\Http\Message\ResponseInterface
$request Psr\Http\Message\ServerRequestInterface
$response Psr\Http\Message\ResponseInterface
$out callable
return Psr\Http\Message\ResponseInterface
    public function __invoke(Request $request, Response $response, callable $out = null) : Response
    {
        $token = $this->parseToken($request);
        $sessionContainer = LazySession::fromContainerBuildingCallback(function () use($token) : SessionInterface {
            return $this->extractSessionContainer($token);
        });
        if (null !== $out) {
            $response = $out($request->withAttribute(self::SESSION_ATTRIBUTE, $sessionContainer), $response);
        }
        return $this->appendToken($sessionContainer, $response, $token);
    }