/** * keys of response headers should be are case sensitive */ public function testResponseHeaders() { $headers = $this->context->getResponseHeaders(); $key1 = 'test1'; $key2 = 'test2'; $value1 = 'value1'; $value2 = 'value2'; $this->assertFalse($headers->has($key1)); $this->assertFalse(isset($headers[$key1])); $this->assertNull($headers->get($key1)); $this->assertNull($headers[$key1]); $headers->set($key1, $value1); $this->assertTrue($headers->has($key1)); $this->assertTrue(isset($headers[$key1])); $this->assertEquals($value1, $headers->get($key1)); $this->assertEquals($value1, $headers[$key1]); $this->assertFalse($headers->has(strtoupper($key1))); $this->assertFalse(isset($headers[strtoupper($key1)])); $this->assertNull($headers->get(strtoupper($key1))); $this->assertNull($headers[strtoupper($key1)]); $headers->remove(strtoupper($key1)); $this->assertTrue($headers->has($key1)); unset($headers[strtoupper($key1)]); $this->assertTrue($headers->has($key1)); $headers->remove($key1); $this->assertFalse($headers->has($key1)); $this->assertFalse(isset($headers[$key1])); $this->assertNull($headers->get($key1)); $this->assertNull($headers[$key1]); $headers[$key2] = $value2; $this->assertTrue($headers->has($key2)); $this->assertTrue(isset($headers[$key2])); $this->assertEquals($value2, $headers->get($key2)); $this->assertEquals($value2, $headers[$key2]); unset($headers[$key2]); $this->assertFalse($headers->has($key2)); $this->assertFalse(isset($headers[$key2])); $this->assertNull($headers->get($key2)); $this->assertNull($headers[$key2]); $headers->set($key1, null); $this->assertTrue($headers->has($key1)); $this->assertTrue(isset($headers[$key1])); $this->assertNull($headers->get($key1)); $this->assertNull($headers[$key1]); $this->assertEquals(1, count($headers)); $this->assertEquals([$key1 => null], $headers->toArray()); $headers->clear(); $this->assertEquals(0, count($headers)); }
/** * @param Context $context * * @return Response */ protected function buildResponse(Context $context) { $result = $context->getResult(); $view = $this->view($result); $view->getSerializationContext()->setSerializeNull(true); $statusCode = $context->getResponseStatusCode(); if (null !== $statusCode) { $view->setStatusCode($statusCode); } foreach ($context->getResponseHeaders()->toArray() as $key => $value) { $view->setHeader($key, $value); } return $this->handleView($view); }