예제 #1
0
 /**
  * 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());
 }
예제 #2
0
 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'));
 }