@@ -302,6 +302,20 @@ public function getHttp10RequestShouldSendAGetRequestWithoutConnectionHeaderByDe
302302 $ sender ->send ($ request );
303303 }
304304
305+ /** @test */
306+ public function getHttp10RequestShouldSendAGetRequestWithoutConnectionHeaderEvenWhenConnectionKeepAliveHeaderIsSpecified ()
307+ {
308+ $ client = $ this ->getMockBuilder ('React\Http\Client\Client ' )->disableOriginalConstructor ()->getMock ();
309+ $ client ->expects ($ this ->once ())->method ('request ' )->with ($ this ->callback (function (RequestInterface $ request ) {
310+ return !$ request ->hasHeader ('Connection ' );
311+ }))->willReturn ($ this ->getMockBuilder ('React\Http\Io\ClientRequestStream ' )->disableOriginalConstructor ()->getMock ());
312+
313+ $ sender = new Sender ($ client );
314+
315+ $ request = new Request ('GET ' , 'http://www.example.com ' , array ('Connection ' => 'keep-alive ' ), '' , '1.0 ' );
316+ $ sender ->send ($ request );
317+ }
318+
305319 /** @test */
306320 public function getHttp11RequestShouldSendAGetRequestWithConnectionCloseHeaderByDefault ()
307321 {
@@ -317,16 +331,16 @@ public function getHttp11RequestShouldSendAGetRequestWithConnectionCloseHeaderBy
317331 }
318332
319333 /** @test */
320- public function getHttp11RequestShouldSendAGetRequestWithGivenConnectionUpgradeHeader ()
334+ public function getHttp11RequestShouldSendAGetRequestWithConnectionCloseHeaderEvenWhenConnectionKeepAliveHeaderIsSpecified ()
321335 {
322336 $ client = $ this ->getMockBuilder ('React\Http\Client\Client ' )->disableOriginalConstructor ()->getMock ();
323337 $ client ->expects ($ this ->once ())->method ('request ' )->with ($ this ->callback (function (RequestInterface $ request ) {
324- return $ request ->getHeaderLine ('Connection ' ) === 'upgrade ' ;
338+ return $ request ->getHeaderLine ('Connection ' ) === 'close ' ;
325339 }))->willReturn ($ this ->getMockBuilder ('React\Http\Io\ClientRequestStream ' )->disableOriginalConstructor ()->getMock ());
326340
327341 $ sender = new Sender ($ client );
328342
329- $ request = new Request ('GET ' , 'http://www.example.com ' , array ('Connection ' => 'upgrade ' ), '' , '1.1 ' );
343+ $ request = new Request ('GET ' , 'http://www.example.com ' , array ('Connection ' => 'keep-alive ' ), '' , '1.1 ' );
330344 $ sender ->send ($ request );
331345 }
332346
0 commit comments