22
33namespace Http \Adapter \React ;
44
5+ use Http \Client \HttpClient ;
6+ use Http \Client \HttpAsyncClient ;
7+ use Http \Client \Exception \HttpException ;
8+ use Http \Client \Exception \RequestException ;
59use Http \Discovery \MessageFactoryDiscovery ;
10+ use Http \Message \ResponseFactory ;
11+ use Psr \Http \Message \RequestInterface ;
612use Psr \Http \Message \ResponseInterface ;
13+ use Psr \Http \Message \StreamInterface ;
714use React \EventLoop \LoopInterface ;
815use React \Promise \Deferred ;
916use React \HttpClient \Client as ReactClient ;
1017use React \HttpClient \Request as ReactRequest ;
1118use React \HttpClient \Response as ReactResponse ;
12- use Http \Client \HttpClient ;
13- use Http \Client \HttpAsyncClient ;
14- use Http \Client \Exception \HttpException ;
15- use Http \Client \Exception \RequestException ;
16- use Http \Message \MessageFactory ;
17- use Psr \Http \Message \RequestInterface ;
18- use Psr \Http \Message \StreamInterface ;
1919
2020/**
2121 * Client for the React promise implementation.
@@ -39,21 +39,19 @@ class Client implements HttpClient, HttpAsyncClient
3939 private $ loop ;
4040
4141 /**
42- * HTTPlug message factory.
43- *
44- * @var MessageFactory
42+ * @var ResponseFactory
4543 */
46- private $ messageFactory ;
44+ private $ responseFactory ;
4745
4846 /**
4947 * Initialize the React client.
5048 *
51- * @param MessageFactory |null $messageFactory
52- * @param LoopInterface|null $loop React Event loop
53- * @param ReactClient|null $client React client to use
49+ * @param ResponseFactory |null $responseFactory
50+ * @param LoopInterface|null $ loop
51+ * @param ReactClient|null $client
5452 */
5553 public function __construct (
56- MessageFactory $ messageFactory = null ,
54+ ResponseFactory $ responseFactory = null ,
5755 LoopInterface $ loop = null ,
5856 ReactClient $ client = null
5957 ) {
@@ -62,10 +60,11 @@ public function __construct(
6260 'You must give a LoopInterface instance with the Client '
6361 );
6462 }
63+
6564 $ this ->loop = $ loop ?: ReactFactory::buildEventLoop ();
6665 $ this ->client = $ client ?: ReactFactory::buildHttpClient ($ this ->loop );
6766
68- $ this ->messageFactory = $ messageFactory ?: MessageFactoryDiscovery::find ();
67+ $ this ->responseFactory = $ responseFactory ?: MessageFactoryDiscovery::find ();
6968 }
7069
7170 /**
@@ -93,6 +92,7 @@ public function sendAsyncRequest(RequestInterface $request)
9392 $ error
9493 ));
9594 });
95+
9696 $ reactRequest ->on ('response ' , function (ReactResponse $ reactResponse = null ) use ($ deferred , $ reactRequest , $ request ) {
9797 $ bodyStream = null ;
9898 $ reactResponse ->on ('data ' , function ($ data ) use (&$ bodyStream ) {
@@ -140,6 +140,7 @@ public function sendAsyncRequest(RequestInterface $request)
140140 private function buildReactRequest (RequestInterface $ request )
141141 {
142142 $ headers = [];
143+
143144 foreach ($ request ->getHeaders () as $ name => $ value ) {
144145 $ headers [$ name ] = (is_array ($ value ) ? $ value [0 ] : $ value );
145146 }
@@ -167,7 +168,7 @@ private function buildResponse(
167168 ) {
168169 $ body ->rewind ();
169170
170- return $ this ->messageFactory ->createResponse (
171+ return $ this ->responseFactory ->createResponse (
171172 $ response ->getCode (),
172173 $ response ->getReasonPhrase (),
173174 $ response ->getHeaders (),
0 commit comments