/** * @priority normal * * @param ProxyResponseEvent $event */ public function onProxyResponse(ProxyResponseEvent $event) { if (!$event->isCancelled() && $event->hasResponse()) { $response = $event->getResponse(); $request = $event->getRequest(); if (!$response->hasHeaderWithValue('X-Cache', 'HIT')) { $response->addHeader('X-Cache', 'MISS'); $response->addHeader('X-Cache-Hits', 0); } $oldVia = $response->getHeader('Via'); $oldVia[] = $event->getProxy()->getConfig()->getProxyName(); $response->setHeader('Via', $oldVia); if ($this->cacheStrategy->canStoreResponseInCache($response, $event->getRequest())) { $this->storage->save($request, $response, $response->getTtl()); $event->getLogger()->debug('Response was stored in cache'); } } }
/** * @priority MONITOR * @param ProxyResponseEvent $event */ public function onProxyResponse(ProxyResponseEvent $event) { $request = $event->getRequest(); $response = $event->getResponse(); $logLine = $this->getLogLine($this->getLogData($request, $response)); $level = LogLevel::INFO; if (!$response || !$response->isSuccessful()) { $level = LogLevel::WARNING; } $this->logger->log($level, $logLine); }