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

Commit 5c25bc8

Browse files
ADmadNyholm
authored andcommitted
Upgrade to CakePHP 3.4 (#6)
* Update client for CakePHP 3.4. * Don't use dev packages. * Fix code styling issue. * Don't test on PHP 5.5 and min. PHP version supported by CakePHP is 5.6 * Bump CakePHP version to 3.4.12. * Bump PHP version to 5.6 since thats the min. version Cake 3.4 supports. * Revert to "yoda" syntax.
1 parent 493ffc8 commit 5c25bc8

File tree

3 files changed

+17
-26
lines changed

3 files changed

+17
-26
lines changed

.travis.yml

+1-2
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ cache:
77
- $HOME/.composer/cache/files
88

99
php:
10-
- 5.5
1110
- 5.6
1211
- 7.0
1312
- 7.1
@@ -26,7 +25,7 @@ matrix:
2625
dist: trusty
2726
fast_finish: true
2827
include:
29-
- php: 5.5
28+
- php: 5.6
3029
env: COMPOSER_FLAGS="--prefer-stable --prefer-lowest" COVERAGE=true TEST_COMMAND="composer test-ci"
3130
- php: hhvm
3231
dist: trusty

composer.json

+3-5
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@
1111
}
1212
],
1313
"require": {
14-
"php": "^5.5 || ^7.0",
14+
"php": "^5.6 || ^7.0",
1515
"php-http/httplug": "^1.0",
1616
"php-http/discovery": "^1.0",
17-
"cakephp/cakephp": "^3.1"
17+
"cakephp/cakephp": "^3.4.12"
1818
},
1919
"require-dev": {
2020
"php-http/client-integration-tests": "^0.6"
@@ -40,7 +40,5 @@
4040
"branch-alias": {
4141
"dev-master": "0.1-dev"
4242
}
43-
},
44-
"prefer-stable": true,
45-
"minimum-stability": "dev"
43+
}
4644
}

src/Client.php

+13-19
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,16 @@
33
namespace Http\Adapter\Cake;
44

55
use Cake\Core\Exception\Exception;
6-
use Cake\Network\Http\Client as CakeClient;
7-
use Cake\Network\Http\Request;
6+
use Cake\Http\Client as CakeClient;
7+
use Cake\Http\Client\Request;
88
use Http\Client\Exception\NetworkException;
99
use Http\Client\HttpClient;
1010
use Http\Discovery\MessageFactoryDiscovery;
1111
use Http\Message\ResponseFactory;
1212
use Psr\Http\Message\RequestInterface;
1313

1414
/**
15-
* Client compatible with PSR7 and Httplug interfaces, using a cackephp client.
15+
* Client compatible with PSR7 and Httplug interfaces, using a CakePHP client.
1616
*/
1717
class Client implements HttpClient
1818
{
@@ -37,32 +37,26 @@ public function __construct(CakeClient $client = null, ResponseFactory $response
3737
*/
3838
public function sendRequest(RequestInterface $request)
3939
{
40-
$cakeRequest = new Request();
41-
$cakeRequest->method($request->getMethod());
42-
$cakeRequest->url((string) $request->getUri());
43-
$cakeRequest->version($request->getProtocolVersion());
44-
$cakeRequest->body($request->getBody()->getContents());
40+
$cakeRequest = new Request(
41+
(string) $request->getUri(),
42+
$request->getMethod(),
43+
$request->getHeaders()
44+
);
4545

46-
foreach ($request->getHeaders() as $header => $values) {
47-
$cakeRequest->header($header, $request->getHeaderLine($header));
48-
}
46+
$cakeRequest = $cakeRequest
47+
->withProtocolVersion($request->getProtocolVersion())
48+
->withBody($request->getBody());
4949

5050
if (null === $cakeRequest->header('Content-Type')) {
5151
$cakeRequest->header('Content-Type', 'application/x-www-form-urlencoded');
5252
}
5353

5454
try {
55-
$cakeResponse = $this->client->send($cakeRequest, $this->client->config());
55+
$response = $this->client->send($cakeRequest, $this->client->config());
5656
} catch (Exception $exception) {
5757
throw new NetworkException('Failed to send request', $request, $exception);
5858
}
5959

60-
return $this->responseFactory->createResponse(
61-
$cakeResponse->statusCode(),
62-
null,
63-
$cakeResponse->headers(),
64-
$cakeResponse->body(),
65-
$cakeResponse->version()
66-
);
60+
return $response;
6761
}
6862
}

0 commit comments

Comments
 (0)