/** * Dispatches the request to BedRest. */ public function dispatchBedRest(array $options) { if (isset($options['method'])) { $this->_bedRestRequest->setMethod($options['method']); } $restManager = $this->_bedRest->getRestManager(); $this->_bedRestResponse = $restManager->process($this->_bedRestRequest); $response = $this->getResponse(); $response->setHttpResponseCode($this->_bedRestResponse->getStatusCode()); foreach ($this->_bedRestResponse->getHeaders() as $name => $value) { $response->setHeader($name, $value); } $response->setBody($this->_bedRestResponse->getRawBody()); }
public function testHeaders() { $this->assertEmpty($this->response->getHeaders()); $headers = array('Content-Type' => 'application/json', 'Content-Encoding' => 'gzip'); $this->response->setHeaders($headers); $this->assertEquals($headers, $this->response->getHeaders()); $this->assertEquals('application/json', $this->response->getHeader('Content-Type')); // ensure headers are case sensitive $this->assertNull($this->response->getHeader('content-type')); // merging headers $newHeaders = array('Content-Language' => 'en-GB', 'ETag' => md5(time())); $this->response->setHeaders($newHeaders, true); $this->assertEquals($newHeaders['Content-Language'], $this->response->getHeader('Content-Language')); $this->assertEquals($newHeaders['ETag'], $this->response->getHeader('ETag')); $this->assertEquals($headers['Content-Encoding'], $this->response->getHeader('Content-Encoding')); $this->assertEquals(array_merge($headers, $newHeaders), $this->response->getHeaders()); // overwriting an existing header $this->response->setHeader('Content-Type', 'text/xml'); $this->assertEquals('text/xml', $this->response->getHeader('Content-Type')); // setting a new header $this->response->setHeader('Age', 30); $this->assertEquals(30, $this->response->getHeader('Age')); }