コード例 #1
0
 /**
  * @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);
 }
コード例 #2
0
ファイル: ProxyCacheListener.php プロジェクト: phpextra/proxy
 /**
  * @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');
         }
     }
 }
コード例 #3
0
 /**
  * Tag outgoing responses
  *
  * @priority low
  *
  * @param ProxyResponseEvent $event
  */
 public function onProxyResponse(ProxyResponseEvent $event)
 {
     if ($event->hasResponse()) {
         $fullProxyName = sprintf('%s v.%s', $event->getProxy()->getConfig()->getProxyName(), $event->getProxy()->getConfig()->getProxyVersion());
         $event->getLogger()->debug('Signing response with proxy name and version');
         $response = $event->getResponse();
         $response->addHeader('X-Powered-By', $fullProxyName);
         $response->addHeader('X-Served-By', $event->getProxy()->getConfig()->getProxyName());
         $response->addHeader('X-Proxy-Version', $event->getProxy()->getConfig()->getProxyVersion());
     }
 }