/** * @param GetResponseEvent $event */ public function onRequest(GetResponseEvent $event) { if (!$event->getRequestType() === HttpKernelInterface::MASTER_REQUEST) { return; } if ($this->providerFactory instanceof RequestAware) { $this->providerFactory->setRequest($event->getRequest()); } $provider = $this->providerFactory->create(); if (null === $provider->getRequestId()) { return; } $event->getRequest()->headers->set($this->requestHeader, $provider->getRequestId()); }
/** * @param RequestInterface $request * @param ResponseInterface $response * @param callable $next * * @return ResponseInterface|MessageInterface * * @throws \InvalidArgumentException for invalid header values or names */ public function __invoke(RequestInterface $request, ResponseInterface $response, callable $next) { if ($this->providerFactory instanceof RequestAware) { $this->providerFactory->setRequest($request); } $provider = $this->providerFactory->create(); if (!$this->requestDecorator) { $this->requestDecorator = new AddsRequestIdToHttpMessage($provider); } if (!$this->responseDecorator) { $this->responseDecorator = new AddsRequestIdToHttpMessage($provider); } return $this->responseDecorator->decorate($next($this->requestDecorator->decorate($request), $response)); }