/** * @param FilterResponseEvent $event */ public function onKernelResponse(FilterResponseEvent $event) { if (!$event->isMasterRequest()) { return; } $request = $event->getRequest(); $response = $event->getResponse(); if (substr((string) $response->getStatusCode(), 0, 1) !== '2') { // TODO UT this return; } if (RequestListener::isModifyingMethodRequest($request)) { $version = $this->store->update($request, (string) microtime(true)); } elseif (!RequestListener::isIgnoreMethodRequest($request)) { if (!($version = $this->store->fetch($request))) { $version = $this->store->register($request, (string) microtime(true)); } } if (isset($version)) { $response->headers->set('ETag', $version); } }