public function testSendsToNewBodyWhenNot2xxResponse() { $body = puzzle_stream_Stream::factory(); $request = new puzzle_message_Request('GET', 'http://httbin.org'); $t = new puzzle_adapter_Transaction(new puzzle_Client(), $request); $m = new puzzle_adapter_curl_RequestMediator($t, new puzzle_message_MessageFactory()); $m->setResponseBody($body); $this->assertEquals(27, $m->receiveResponseHeader(null, "HTTP/1.1 304 Not Modified\r\n")); $this->assertEquals(2, $m->receiveResponseHeader(null, "\r\n")); $this->assertEquals(304, $t->getResponse()->getStatusCode()); $m->writeResponseBody(null, 'foo'); $this->assertEquals('', (string) $body); $this->assertEquals('foo', (string) $t->getResponse()->getBody()); }
private function add_save_to(puzzle_message_RequestInterface $request, puzzle_adapter_curl_RequestMediator $mediator, $value) { $mediator->setResponseBody(is_string($value) ? new puzzle_stream_LazyOpenStream($value, 'w') : puzzle_stream_Stream::factory($value)); }