public function it_should_prepare_the_bag(Request $request, Response $response, ResponseHeaderBag $bag) { $response->headers = $bag; $bag->set("content-type", "application/json")->shouldBeCalledTimes(1); $this->test($request, $response); $this->getBag()->shouldBe(["test" => "Ok"]); }
public function testCacheControlHeader() { $bag = new ResponseHeaderBag(array()); $this->assertEquals('no-cache', $bag->get('Cache-Control')); $this->assertTrue($bag->hasCacheControlDirective('no-cache')); $bag = new ResponseHeaderBag(array('Cache-Control' => 'public')); $this->assertEquals('public', $bag->get('Cache-Control')); $this->assertTrue($bag->hasCacheControlDirective('public')); $bag = new ResponseHeaderBag(array('ETag' => 'abcde')); $this->assertEquals('private, must-revalidate', $bag->get('Cache-Control')); $this->assertTrue($bag->hasCacheControlDirective('private')); $this->assertTrue($bag->hasCacheControlDirective('must-revalidate')); $this->assertFalse($bag->hasCacheControlDirective('max-age')); $bag = new ResponseHeaderBag(array('Expires' => 'Wed, 16 Feb 2011 14:17:43 GMT')); $this->assertEquals('private, must-revalidate', $bag->get('Cache-Control')); $bag = new ResponseHeaderBag(array('Expires' => 'Wed, 16 Feb 2011 14:17:43 GMT', 'Cache-Control' => 'max-age=3600')); $this->assertEquals('max-age=3600, private', $bag->get('Cache-Control')); $bag = new ResponseHeaderBag(array('Last-Modified' => 'abcde')); $this->assertEquals('private, must-revalidate', $bag->get('Cache-Control')); $bag = new ResponseHeaderBag(array('Etag' => 'abcde', 'Last-Modified' => 'abcde')); $this->assertEquals('private, must-revalidate', $bag->get('Cache-Control')); $bag = new ResponseHeaderBag(array('cache-control' => 'max-age=100')); $this->assertEquals('max-age=100, private', $bag->get('Cache-Control')); $bag = new ResponseHeaderBag(array('cache-control' => 's-maxage=100')); $this->assertEquals('s-maxage=100', $bag->get('Cache-Control')); $bag = new ResponseHeaderBag(array('cache-control' => 'private, max-age=100')); $this->assertEquals('max-age=100, private', $bag->get('Cache-Control')); $bag = new ResponseHeaderBag(array('cache-control' => 'public, max-age=100')); $this->assertEquals('max-age=100, public', $bag->get('Cache-Control')); $bag = new ResponseHeaderBag(); $bag->set('Last-Modified', 'abcde'); $this->assertEquals('private, must-revalidate', $bag->get('Cache-Control')); }
protected function fixContentType() { if (!$this->headers->has('Content-Type')) { $this->headers->set('Content-Type', 'text/html; charset=' . $this->charset); } elseif ('text/' === substr($this->headers->get('Content-Type'), 0, 5) && false === strpos($this->headers->get('Content-Type'), 'charset')) { // add the charset $this->headers->set('Content-Type', $this->headers->get('Content-Type') . '; charset=' . $this->charset); } }
function it_should_set_response_time_to_response_header(Request $req, Response $res, ResponseHeaderBag $bag) { $res->headers = $bag; static::$timer->getStartMilliseconds()->willReturn(1426009224940.0); static::$timer->getEndMilliseconds()->willReturn(1426009226260.0); $bag->set('X-Response-Time', '1320ms', false)->shouldBeCalled(); $next = function ($req) use($res) { return $res->getWrappedObject(); }; $this->handle($req, $next)->shouldReturn($res); }
function it_should_set_response_time_to_response_header(Request $req, Response $res, ResponseHeaderBag $bag) { $res->headers = $bag; $uuid = '25769c6c-d34d-4bfe-ba98-e0ee856f3e7a'; static::$generator->getV4Uuid()->willReturn($uuid); $req->merge(['request-id' => $uuid])->shouldBeCalled(); $bag->set('Request-Id', $uuid, false)->shouldBeCalled(); $next = function ($req) use($res) { return $res->getWrappedObject(); }; $this->handle($req, $next)->shouldReturn($res); }
/** * Sets the Vary header. * * @param string|array $headers * @param bool $replace Whether to replace the actual value of not (true by default) * * @return Response * * @api */ public function setVary($headers, $replace = true) { $this->headers->set('Vary', $headers, $replace); return $this; }
public function testToStringDoesntMessUpHeaders() { $headers = new ResponseHeaderBag(); $headers->set('Location', 'http://www.symfony.com'); $headers->set('Content-type', 'text/html'); (string) $headers; $allHeaders = $headers->allPreserveCase(); $this->assertEquals(array('http://www.symfony.com'), $allHeaders['Location']); $this->assertEquals(array('text/html'), $allHeaders['Content-type']); }
/** * @param array $app * @param ResponseHeaderBag $headers */ private function setPageDataIfExists(array $app, ResponseHeaderBag $headers) { if (isset($app[Headers::PAGE_DATA_KEY])) { $headers->set(Headers::PAGE_DATA_HEADER, json_encode(Escaper::escape($app[Headers::PAGE_DATA_KEY]))); } }
/** * Sets headers to apply to all responses being sent * * @param string $name Header name * @param string $value Header value * @param bool $replace Replace existing headers * @return void */ public function setHeader($name, $value, $replace = true) { $this->headers->set($name, $value, $replace); }
protected function getHttpHeaders(Request $httpRequest, $result) { $headers = new ResponseHeaderBag(); $headers->set("Content-Type", $this->getMimeType() . "; charset=utf-8"); return $headers; }