/** * @param ServerRequestInterface $request * @param ResponseInterface $response * @param callable|null $next * @return ResponseInterface */ public function __invoke(ServerRequestInterface $request, ResponseInterface $response, callable $next = null) { $this->sessionManager->start(); Container::setDefaultManager($this->sessionManager); $container = new Container('initialized'); if (isset($container->init)) { return $next($request, $response); } $this->sessionManager->regenerateId(true); $container->init = true; if ($next) { return $next($request, $response); } return $response; }