protected function logResponse(Response $response, Request $request) { if ($response->getStatusCode() >= 500) { $color = LogLevel::ERROR; } elseif ($response->getStatusCode() >= 400) { $color = LogLevel::WARNING; } elseif ($response->getStatusCode() >= 300) { $color = LogLevel::NOTICE; } elseif ($response->getStatusCode() >= 200) { $color = LogLevel::INFO; } else { $color = LogLevel::INFO; } $msg = 'Response {response_status_code} for "{request_method} {request_uri}"'; $context = array('request_method' => $request->getMethod(), 'request_uri' => $request->getRequestUri(), 'response_status_code' => $response->getStatusCode(), 'response_charset' => $response->getCharset(), 'response_date' => $response->getDate(), 'response_etag' => $response->getEtag(), 'response_expires' => $response->getExpires(), 'response_last_modified' => $response->getLastModified(), 'response_max_age' => $response->getMaxAge(), 'response_protocol_version' => $response->getProtocolVersion(), 'response_ttl' => $response->getTtl(), 'response_vary' => $response->getVary()); $this->logger->log($color, $msg, $context); }
public function testSetVary() { $response = new Response(); $response->setVary('Accept-Language'); $this->assertEquals(array('Accept-Language'), $response->getVary()); $response->setVary('Accept-Language, User-Agent'); $this->assertEquals(array('Accept-Language', 'User-Agent'), $response->getVary(), '->setVary() replace the vary header by default'); $response->setVary('X-Foo', false); $this->assertEquals(array('Accept-Language', 'User-Agent', 'X-Foo'), $response->getVary(), '->setVary() doesn\'t wipe out earlier Vary headers if replace is set to false'); }
public function testGetVary() { $response = new Response(); $this->assertEquals(array(), $response->getVary(), '->getVary() returns an empty array if no Vary header is present'); $response = new Response(); $response->headers->set('Vary', 'Accept-Language'); $this->assertEquals(array('Accept-Language'), $response->getVary(), '->getVary() parses a single header name value'); $response = new Response(); $response->headers->set('Vary', 'Accept-Language User-Agent X-Foo'); $this->assertEquals(array('Accept-Language', 'User-Agent', 'X-Foo'), $response->getVary(), '->getVary() parses multiple header name values separated by spaces'); $response = new Response(); $response->headers->set('Vary', 'Accept-Language,User-Agent, X-Foo'); $this->assertEquals(array('Accept-Language', 'User-Agent', 'X-Foo'), $response->getVary(), '->getVary() parses multiple header name values separated by commas'); }
/** * @param Response $response * @param Request $request * * @return array */ protected function createContext(Response $response, Request $request) { $context = array('response_status_code' => $response->getStatusCode(), 'response_charset' => $response->getCharset(), 'response_date' => $response->getDate(), 'response_etag' => $response->getEtag(), 'response_expires' => $response->getExpires(), 'response_last_modified' => $response->getLastModified(), 'response_max_age' => $response->getMaxAge(), 'response_protocol_version' => $response->getProtocolVersion(), 'response_ttl' => $response->getTtl(), 'response_vary' => $response->getVary(), 'request_method' => $request->getMethod(), 'request_uri' => $request->getRequestUri(), 'request_route' => $request->attributes->get('_route'), 'response_time' => $this->getTime($request), 'response_memory' => $this->getMemory()); return $context; }