コード例 #1
0
 public function testResponseDateIsNotModifiedByCacheListener()
 {
     $now = \DateTime::createFromFormat('D, d M Y H:i:s T', 'Fri, 12 Dec 2014 12:46:14 GMT');
     $this->cacheStrategy->setCanUseResponseFromCache(true);
     $request = Request::create('/');
     $response = new Response('"ok"');
     $response->setDate($now);
     $this->storage->save($request, $response);
     $event = new ProxyRequestEvent($request, null, $this->proxy);
     $event->setLogger(new LoggerProxy());
     $this->proxyCacheListener->onProxyRequest($event);
     $this->assertEquals('Fri, 12 Dec 2014 12:46:14 GMT', $response->getHeader('date')[0]);
     $this->assertEquals('HIT', $response->getHeader('X-Cache')[0]);
 }
コード例 #2
0
ファイル: Guzzle4Adapter.php プロジェクト: phpextra/proxy
 /**
  * @param GuzzleResponse $guzzleResponse
  *
  * @return Response
  */
 protected function createResponseFromGuzzleResponse(GuzzleResponse $guzzleResponse)
 {
     $content = null;
     if ($guzzleResponse->getBody() !== null) {
         $content = $guzzleResponse->getBody()->getContents();
     }
     $response = new Response($content, $guzzleResponse->getStatusCode());
     $response->setHeaders($guzzleResponse->getHeaders());
     $deniedHeaders = array('transfer-encoding', 'x-powered-by', 'content-length', 'content-encoding');
     foreach ($deniedHeaders as $headerName) {
         $response->removeHeader($headerName);
     }
     return $response;
 }