skipRoutes($request) or $this->service->isIn()) { return $handler->handle($request); } return $this->redirect('guest'); } protected function skipRoutes(ServerRequestInterface $request): bool { $uri = $request->getUri(); $route = $uri->getPath(); $routes = [ '/guest', '/auth/login' ]; return in_array($route, $routes, true); } protected function redirect(string $route): ResponseInterface { $response = $this->responseFactory->createResponse(301, 'Not authorized'); return $this->view->render($response, $route); } }