routesWhitelist = $routesWhitelist; $this->requestToAuthPlugin = $requestToAuthPlugin; } public function process(Request $request, RequestHandlerInterface $handler): Response { /** @var RouteResult|null $routeResult */ $routeResult = $request->getAttribute(RouteResult::class); if ( $routeResult === null || $routeResult->isFailure() || $request->getMethod() === self::METHOD_OPTIONS || contains($this->routesWhitelist, $routeResult->getMatchedRouteName()) ) { return $handler->handle($request); } $plugin = $this->requestToAuthPlugin->fromRequest($request); $plugin->verify($request); $response = $handler->handle($request); return $plugin->update($request, $response); } }