GuzzleHttp\Test\Handler\CurlFactoryTest::testSuccessfullyCallsOnHeadersBeforeWritingToSink PHP Метод

testSuccessfullyCallsOnHeadersBeforeWritingToSink() публичный Метод

    public function testSuccessfullyCallsOnHeadersBeforeWritingToSink()
    {
        Server::flush();
        Server::enqueue([new Psr7\Response(200, ['X-Foo' => 'bar'], 'abc 123')]);
        $req = new Psr7\Request('GET', Server::$url);
        $got = null;
        $stream = Psr7\stream_for();
        $stream = Psr7\FnStream::decorate($stream, ['write' => function ($data) use($stream, &$got) {
            $this->assertNotNull($got);
            return $stream->write($data);
        }]);
        $handler = new Handler\CurlHandler();
        $promise = $handler($req, ['sink' => $stream, 'on_headers' => function (ResponseInterface $res) use(&$got) {
            $got = $res;
            $this->assertEquals('bar', $res->getHeaderLine('X-Foo'));
        }]);
        $response = $promise->wait();
        $this->assertEquals(200, $response->getStatusCode());
        $this->assertEquals('bar', $response->getHeaderLine('X-Foo'));
        $this->assertEquals('abc 123', (string) $response->getBody());
    }