本文整理汇总了PHP中Zend\Http\Response::setHeaders方法的典型用法代码示例。如果您正苦于以下问题:PHP Response::setHeaders方法的具体用法?PHP Response::setHeaders怎么用?PHP Response::setHeaders使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Zend\Http\Response
的用法示例。
在下文中一共展示了Response::setHeaders方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: sendHandshakeResponse
private function sendHandshakeResponse()
{
try {
$challengeHeader = $this->getHandshakeRequest()->getHeader('Sec-Websocket-Key', null);
if (!$challengeHeader) {
throw new Exception("No Sec-WebSocket-Key received!");
}
// Check for newer handshake
$challenge = $challengeHeader->getFieldValue();
// Build response
$response = new Response();
$response->setStatusCode(101);
$response->setReasonPhrase("WebSocket Protocol Handshake");
$headers = new Headers();
$response->setHeaders($headers);
$headers->addHeaderLine("Upgrade", "WebSocket");
$headers->addHeaderLine("Connection", "Upgrade");
$headers->addHeaderLine("Sec-WebSocket-Accept", self::calcHybiResponse($challenge));
$this->setResponse($response);
$handshakeRequest = new Handshake($this->getHandshakeRequest(), $this->getHandshakeResponse());
$this->emit("handshake", array($handshakeRequest));
if ($handshakeRequest->isAborted()) {
$this->close();
} else {
$this->_socket->write($response->toString());
$this->logger->debug("Got an HYBI style request, sent HYBY handshake response");
$this->connected = true;
$this->emit("connect");
}
} catch (Exception $e) {
$this->logger->err("Connection error, message: " . $e->getMessage());
$this->close();
}
}
示例2: testRequestCanSetHeaders
public function testRequestCanSetHeaders()
{
$response = new Response();
$headers = new \Zend\Http\Headers();
$ret = $response->setHeaders($headers);
$this->assertInstanceOf('Zend\\Http\\Response', $ret);
$this->assertSame($headers, $response->getHeaders());
}
示例3: setUp
public function setUp()
{
$response = new Response();
$response->setHeaders(new Headers());
$mvcEvent = new MvcEvent();
$mvcEvent->setResponse($response);
$this->error = new ApiError($mvcEvent);
}
示例4: testFromResponseInCookie
public function testFromResponseInCookie()
{
$response = new Response();
$headers = new Headers();
$header = new SetCookie("foo", "bar");
$header->setDomain("www.zend.com");
$header->setPath("/");
$headers->addHeader($header);
$response->setHeaders($headers);
$response = Cookies::fromResponse($response, "http://www.zend.com");
$this->assertSame($header, $response->getCookie('http://www.zend.com', 'foo'));
}
示例5: testWrongContentTypeThrowsInvalidResponseException
public function testWrongContentTypeThrowsInvalidResponseException()
{
$this->setExpectedException('Magium\\Mail\\Api\\InvalidResponseException');
$builder = $this->getMockBuilder('Zend\\Http\\Client')->setMethods(['send']);
$client = $builder->getMock();
/* @var $client \Zend\Http\Client */
$response = new Response();
$response->setContent(json_encode(['error' => 'error message']));
$response->setHeaders(Headers::fromString('Content-Type: wrong'));
$client->expects($this->once())->method('send')->willReturn($response);
$generator = new Generator(new Configuration(), $client, 'abcd');
$generator->generate();
}
示例6: testUrlIsRight
public function testUrlIsRight()
{
$builder = $this->getMockBuilder('Zend\\Http\\Client')->setMethods(['send']);
$client = $builder->getMock();
/* @var $client \Zend\Http\Client */
$response = new Response();
$response->setContent(json_encode(['email' => 'test@example.com']));
$response->setHeaders(Headers::fromString('Content-Type: application/json'));
$client->expects($this->once())->method('send')->willReturn($response);
$configuration = new Configuration();
$generator = new Generator($configuration, $client, 'abcd');
$email = $generator->generate();
self::assertEquals('test@example.com', $email);
self::assertEquals($configuration->getApiEndpointUrl(), $client->getUri()->toString());
}
示例7: sendHandshakeResponse
private function sendHandshakeResponse()
{
// Last 8 bytes of the client's handshake are used for key calculation later
$l8b = $this->request->getContent();
// Check for 2-key based handshake (Hixie protocol draft)
$key1 = $this->getHandshakeRequest()->getHeader('Sec-Websocket-Key1')->getFieldValue();
$key2 = $this->getHandshakeRequest()->getHeader('Sec-Websocket-Key2')->getFieldValue();
// Origin checking (TODO)
$originHeader = $this->getHandshakeRequest()->getHeader('Origin', null);
$host = $this->getHandshakeRequest()->getHeader('Host')->getFieldValue();
$location = $this->getHandshakeRequest()->getUriString();
// Build response
$response = new Response();
$response->setStatusCode(101);
$response->setReasonPhrase("WebSocket Protocol Handshake");
$headers = new Headers();
$response->setHeaders($headers);
$headers->addHeaderLine("Upgrade", "WebSocket");
$headers->addHeaderLine("Connection", "Upgrade");
if ($originHeader) {
$headers->addHeaderLine("Sec-WebSocket-Origin", $originHeader->getFieldValue());
}
$headers->addHeaderLine("Sec-WebSocket-Location", "ws://{$host}{$location}");
// Build HIXIE response
$response->setContent(self::calcHixieResponse($key1, $key2, $l8b));
$this->setResponse($response);
$handshakeRequest = new Handshake($this->getHandshakeRequest(), $this->getHandshakeResponse());
$this->emit("handshake", [$handshakeRequest]);
if ($handshakeRequest->isAborted()) {
$this->close();
} else {
$this->socket->write($response->toString());
$this->logger->debug("Got an HYBI style request, sent HYBY handshake response");
$this->emit("connect");
}
}
示例8: testGetContent
/**
* @covers Hermes\Api\Response::__construct
* @covers Hermes\Api\Response::getContent
*/
public function testGetContent()
{
$http = new Client();
$response = new ZendResponse();
$headers = new Headers();
$headers->addHeaderLine('Content-Type', 'application/json');
$response->setHeaders($headers);
$response->setContent(static::$sampleJson);
$this->object = new Response($http, $response);
$content = $this->object->getContent();
}