Skip to content

Commit 0efe741

Browse files
committed
Fix CS
1 parent c1f32ea commit 0efe741

File tree

2 files changed

+53
-39
lines changed

2 files changed

+53
-39
lines changed

src/Client.php

Lines changed: 37 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -11,37 +11,41 @@
1111
use Http\Client\HttpAsyncClient;
1212
use Http\Client\Exception\HttpException;
1313
use Http\Client\Exception\RequestException;
14-
use Http\Promise\Promise;
1514
use Http\Message\MessageFactory;
1615
use Psr\Http\Message\RequestInterface;
1716
use Psr\Http\Message\StreamInterface;
1817

1918
/**
20-
* Client for the React promise implementation
19+
* Client for the React promise implementation.
20+
*
2121
* @author Stéphane Hulard <stephane@hlrd.me>
2222
*/
2323
class Client implements HttpClient, HttpAsyncClient
2424
{
2525
/**
26-
* React HTTP client
26+
* React HTTP client.
27+
*
2728
* @var Client
2829
*/
2930
private $client;
3031

3132
/**
32-
* React event loop
33+
* React event loop.
34+
*
3335
* @var LoopInterface
3436
*/
3537
private $loop;
3638

3739
/**
38-
* HttpPlug message factory
40+
* HttpPlug message factory.
41+
*
3942
* @var MessageFactory
4043
*/
4144
private $messageFactory;
4245

4346
/**
44-
* Initialize the React client
47+
* Initialize the React client.
48+
*
4549
* @param LoopInterface|null $loop React Event loop
4650
* @param Resolver $resolver React async DNS resolver
4751
* @param ReactClient $client React client to use
@@ -51,14 +55,13 @@ public function __construct(
5155
LoopInterface $loop = null,
5256
ReactClient $client = null
5357
) {
54-
$this->loop = null === $loop?ReactFactory::buildEventLoop():$loop;
55-
if (null === $client) {
56-
$this->client = ReactFactory::buildHttpClient($this->loop);
57-
} elseif (null === $loop) {
58+
if (null !== $client && null === $loop) {
5859
throw new \RuntimeException(
59-
"You must give a LoopInterface instance with the Client"
60+
'You must give a LoopInterface instance with the Client'
6061
);
6162
}
63+
$this->loop = (null !== $loop) ?: ReactFactory::buildEventLoop();
64+
$this->client = (null !== $client) ?: ReactFactory::buildHttpClient($this->loop);
6265

6366
$this->messageFactory = $messageFactory;
6467
}
@@ -78,70 +81,70 @@ public function sendRequest(RequestInterface $request)
7881
*/
7982
public function sendAsyncRequest(RequestInterface $request)
8083
{
81-
$requestStream = $this->buildReactRequest($request);
84+
$reactRequest = $this->buildReactRequest($request);
8285
$deferred = new Deferred();
8386

84-
$requestStream->on('error', function (\Exception $error) use ($deferred, $request) {
87+
$reactRequest->on('error', function (\Exception $error) use ($deferred, $request) {
8588
$deferred->reject(new RequestException(
8689
$error->getMessage(),
8790
$request,
8891
$error
8992
));
9093
});
91-
$requestStream->on('response', function (ReactResponse $response = null) use ($deferred, $requestStream, $request) {
94+
$reactRequest->on('response', function (ReactResponse $reactResponse = null) use ($deferred, $reactRequest, $request) {
9295
$bodyStream = null;
93-
$response->on('data', function ($data) use (&$bodyStream) {
96+
$reactResponse->on('data', function ($data) use (&$bodyStream) {
9497
if ($data instanceof StreamInterface) {
9598
$bodyStream = $data;
9699
} else {
97100
$bodyStream->write($data);
98101
}
99102
});
100103

101-
$response->on('end', function (\Exception $error = null) use ($deferred, $request, $response, &$bodyStream) {
104+
$reactResponse->on('end', function (\Exception $error = null) use ($deferred, $request, $reactResponse, &$bodyStream) {
102105
$bodyStream->rewind();
103-
$psr7Response = $this->buildResponse(
104-
$response,
106+
$response = $this->buildResponse(
107+
$reactResponse,
105108
$bodyStream
106109
);
107110
if (null !== $error) {
108111
$deferred->reject(new HttpException(
109112
$error->getMessage(),
110113
$request,
111-
$psr7Response,
114+
$response,
112115
$error
113116
));
114117
} else {
115-
$deferred->resolve($psr7Response);
118+
$deferred->resolve($response);
116119
}
117120
});
118121
});
119122

120-
$requestStream->end((string)$request->getBody());
123+
$reactRequest->end((string) $request->getBody());
121124

122-
$promise = new ReactPromiseAdapter($deferred->promise());
125+
$promise = new Promise($deferred->promise());
123126
$promise->setLoop($this->loop);
127+
124128
return $promise;
125129
}
126130

127131
/**
128-
* Build a React request from the PSR7 RequestInterface
129-
* @param RequestInterface $request
132+
* Build a React request from the PSR7 RequestInterface.
133+
*
134+
* @param RequestInterface $request
135+
*
130136
* @return ReactRequest
131137
*/
132138
private function buildReactRequest(RequestInterface $request)
133139
{
134140
$headers = [];
135141
foreach ($request->getHeaders() as $name => $value) {
136-
$headers[$name] = (is_array($value)?$value[0]:$value);
137-
}
138-
if ($request->getBody()->getSize() > 0) {
139-
$headers['Content-Length'] = $request->getBody()->getSize();
142+
$headers[$name] = (is_array($value) ? $value[0] : $value);
140143
}
141144

142145
$reactRequest = $this->client->request(
143146
$request->getMethod(),
144-
(string)$request->getUri(),
147+
(string) $request->getUri(),
145148
$headers,
146149
$request->getProtocolVersion()
147150
);
@@ -150,15 +153,18 @@ private function buildReactRequest(RequestInterface $request)
150153
}
151154

152155
/**
153-
* Transform a React Response to a valid PSR7 ResponseInterface instance
154-
* @param ReactResponse $response
156+
* Transform a React Response to a valid PSR7 ResponseInterface instance.
157+
*
158+
* @param ReactResponse $response
159+
*
155160
* @return ResponseInterface
156161
*/
157162
private function buildResponse(
158163
ReactResponse $response,
159164
StreamInterface $body
160165
) {
161166
$body->rewind();
167+
162168
return $this->messageFactory->createResponse(
163169
$response->getCode(),
164170
$response->getReasonPhrase(),

src/ReactFactory.php

Lines changed: 16 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,15 @@
1010
use React\HttpClient\Client as HttpClient;
1111

1212
/**
13-
* Factory wrapper for React instances
13+
* Factory wrapper for React instances.
14+
*
1415
* @author Stéphane Hulard <stephane@hlrd.me>
1516
*/
1617
class ReactFactory
1718
{
1819
/**
19-
* Build a react Event Loop
20+
* Build a react Event Loop.
21+
*
2022
* @return LoopInterface
2123
*/
2224
public static function buildEventLoop()
@@ -25,23 +27,28 @@ public static function buildEventLoop()
2527
}
2628

2729
/**
28-
* Build a React Dns Resolver
29-
* @param LoopInterface $loop
30-
* @param string $dns
30+
* Build a React Dns Resolver.
31+
*
32+
* @param LoopInterface $loop
33+
* @param string $dns
34+
*
3135
* @return DnsResolver
3236
*/
3337
public static function buildDnsResolver(
3438
LoopInterface $loop,
3539
$dns = '8.8.8.8'
3640
) {
3741
$factory = new DnsResolverFactory();
42+
3843
return $factory->createCached($dns, $loop);
3944
}
4045

4146
/**
42-
* Build a React Http Client
43-
* @param LoopInterface $loop
44-
* @param Resolver $dns
47+
* Build a React Http Client.
48+
*
49+
* @param LoopInterface $loop
50+
* @param Resolver $dns
51+
*
4552
* @return HttpClient
4653
*/
4754
public static function buildHttpClient(
@@ -53,6 +60,7 @@ public static function buildHttpClient(
5360
}
5461

5562
$factory = new HttpClientFactory();
63+
5664
return $factory->create($loop, $dns);
5765
}
5866
}

0 commit comments

Comments
 (0)