Skip to content
This repository was archived by the owner on Jan 6, 2024. It is now read-only.

Commit dd2583e

Browse files
committed
Updates adapter to new contract
1 parent b94b6be commit dd2583e

File tree

2 files changed

+28
-26
lines changed

2 files changed

+28
-26
lines changed

composer.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,13 +12,13 @@
1212
],
1313
"require": {
1414
"php": ">=5.4",
15-
"php-http/adapter-core": "0.1.*@dev",
15+
"php-http/adapter-core": "dev-internal_separation",
1616
"guzzlehttp/guzzle": "~5.1",
1717
"guzzlehttp/ringphp": "^1.0.8@dev"
1818
},
1919
"require-dev": {
2020
"ext-curl": "*",
21-
"php-http/adapter-integration-tests": "0.1.*@dev"
21+
"php-http/adapter-integration-tests": "dev-internal_separation"
2222
},
2323
"provide": {
2424
"php-http/adapter-implementation": "0.1"

src/Guzzle5HttpAdapter.php

Lines changed: 26 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,15 @@
1818
use GuzzleHttp\Exception\RequestException;
1919
use GuzzleHttp\Message\RequestInterface;
2020
use GuzzleHttp\Pool;
21-
use Http\Adapter\Message\InternalRequestInterface;
21+
use Http\Adapter\Common\Exception\CannotFetchUri;
22+
use Http\Adapter\Internal\Message\InternalRequest;
23+
use Http\Adapter\Internal\Message\MessageFactory;
2224
use Http\Adapter\Normalizer\BodyNormalizer;
2325

2426
/**
2527
* @author GeLo <[email protected]>
2628
*/
27-
class Guzzle5HttpAdapter extends CurlHttpAdapter
29+
class Guzzle5HttpAdapter extends Core\CurlHttpAdapter
2830
{
2931
/**
3032
* @var ClientInterface
@@ -33,12 +35,13 @@ class Guzzle5HttpAdapter extends CurlHttpAdapter
3335

3436
/**
3537
*
36-
* @param ClientInterface|null $client
37-
* @param ConfigurationInterface|null $configuration
38+
* @param ClientInterface|null $client
39+
* @param array $options
40+
* @param MessageFactory|null $messageFactory
3841
*/
39-
public function __construct(ClientInterface $client = null, ConfigurationInterface $configuration = null)
42+
public function __construct(ClientInterface $client = null, array $options = [], MessageFactory $messageFactory = null)
4043
{
41-
parent::__construct($configuration);
44+
parent::__construct($options, $messageFactory);
4245

4346
$this->client = $client ?: new Client();
4447
}
@@ -54,20 +57,17 @@ public function getName()
5457
/**
5558
* {@inheritdoc}
5659
*/
57-
protected function sendInternalRequest(InternalRequestInterface $internalRequest)
60+
protected function sendInternalRequest(InternalRequest $internalRequest)
5861
{
5962
try {
6063
$response = $this->client->send($this->createRequest($internalRequest));
6164
} catch (RequestException $e) {
62-
throw HttpAdapterException::cannotFetchUri(
63-
$e->getRequest()->getUrl(),
64-
$this->getName(),
65-
$e->getMessage()
66-
);
65+
throw new CannotFetchUri($e->getRequest()->getUrl(), $this->getName(), $e);
6766
}
6867

69-
return $this->getConfiguration()->getMessageFactory()->createResponse(
68+
return $this->getMessageFactory()->createResponse(
7069
(integer) $response->getStatusCode(),
70+
null,
7171
$response->getProtocolVersion(),
7272
$response->getHeaders(),
7373
BodyNormalizer::normalize(
@@ -82,7 +82,7 @@ function () use ($response) {
8282
/**
8383
* {@inheritdoc}
8484
*/
85-
protected function sendInternalRequests(array $internalRequests, $success, $error)
85+
protected function sendInternalRequests(array $internalRequests, callable $success, callable $error)
8686
{
8787
$requests = [];
8888
foreach ($internalRequests as $internalRequest) {
@@ -101,38 +101,39 @@ protected function createFile($file)
101101
}
102102

103103
/**
104-
* Creates a request.
104+
* Creates a request
105105
*
106-
* @param InternalRequestInterface $internalRequest
107-
* @param callable|null $success
108-
* @param callable|null $error
106+
* @param InternalRequest $internalRequest
107+
* @param callable|null $success
108+
* @param callable|null $error
109109
*
110110
* @return RequestInterface
111111
*/
112-
private function createRequest(InternalRequestInterface $internalRequest, callable $success = null, callable $error = null)
112+
private function createRequest(InternalRequest $internalRequest, callable $success = null, callable $error = null)
113113
{
114114
$request = $this->client->createRequest(
115115
$internalRequest->getMethod(),
116116
(string) $internalRequest->getUri(),
117117
[
118118
'exceptions' => false,
119119
'allow_redirects' => false,
120-
'timeout' => $this->getConfiguration()->getTimeout(),
121-
'connect_timeout' => $this->getConfiguration()->getTimeout(),
120+
'timeout' => $this->getContextOption('timeout', $internalRequest),
121+
'connect_timeout' => $this->getContextOption('timeout', $internalRequest),
122122
'version' => $internalRequest->getProtocolVersion(),
123123
'headers' => $this->prepareHeaders($internalRequest),
124124
'body' => $this->prepareContent($internalRequest),
125125
]
126126
);
127127

128128
if (isset($success)) {
129-
$messageFactory = $this->getConfiguration()->getMessageFactory();
129+
$messageFactory = $this->getMessageFactory();
130130

131131
$request->getEmitter()->on(
132132
'complete',
133133
function (CompleteEvent $event) use ($success, $internalRequest, $messageFactory) {
134134
$response = $messageFactory->createResponse(
135135
(integer) $event->getResponse()->getStatusCode(),
136+
null,
136137
$event->getResponse()->getProtocolVersion(),
137138
$event->getResponse()->getHeaders(),
138139
BodyNormalizer::normalize(
@@ -143,6 +144,7 @@ function () use ($event) {
143144
)
144145
);
145146

147+
$response = new Core\Message\ParameterableResponse($response);
146148
$response = $response->withParameter('request', $internalRequest);
147149
call_user_func($success, $response);
148150
}
@@ -155,10 +157,10 @@ function () use ($event) {
155157
$request->getEmitter()->on(
156158
'error',
157159
function (ErrorEvent $event) use ($error, $internalRequest, $httpAdapterName) {
158-
$exception = HttpAdapterException::cannotFetchUri(
160+
$exception = new CannotFetchUri(
159161
$event->getException()->getRequest()->getUrl(),
160162
$httpAdapterName,
161-
$event->getException()->getMessage()
163+
$event->getException()
162164
);
163165
$exception->setRequest($internalRequest);
164166
call_user_func($error, $exception);

0 commit comments

Comments
 (0)