diff --git a/composer.json b/composer.json index 7b1f889..a923f14 100644 --- a/composer.json +++ b/composer.json @@ -18,11 +18,10 @@ "psr/log": "^1.0", "psr/cache": "^1.0", "php-http/client-common": "^0.1.1", - "php-http/message": "^0.1.1", + "php-http/message": "^0.2", "symfony/options-resolver": "^2.6|^3.0" }, "require-dev": { - "php-http/cookie": "^0.1@dev", "symfony/stopwatch": "^2.3", "phpspec/phpspec": "^2.4", "henrikbjorn/phpspec-code-coverage" : "^1.0" @@ -38,7 +37,6 @@ } }, "suggest": { - "php-http/cookie": "Allow to use CookiePlugin", "symfony/stopwatch": "Allow to use the StopwatchPlugin", "psr/log-implementation": "Allow to use the LoggerPlugin", "psr/cache-implementation": "Allow to use the CachePlugin" diff --git a/spec/CookiePluginSpec.php b/spec/CookiePluginSpec.php index 36c93d2..15c3102 100644 --- a/spec/CookiePluginSpec.php +++ b/spec/CookiePluginSpec.php @@ -3,8 +3,8 @@ namespace spec\Http\Client\Plugin; use Http\Promise\FulfilledPromise; -use Http\Cookie\Cookie; -use Http\Cookie\CookieJar; +use Http\Message\Cookie; +use Http\Message\CookieJar; use Http\Promise\Promise; use Psr\Http\Message\RequestInterface; use Psr\Http\Message\ResponseInterface; @@ -14,9 +14,13 @@ class CookiePluginSpec extends ObjectBehavior { - function let(CookieJar $cookieJar) + private $cookieJar; + + function let() { - $this->beConstructedWith($cookieJar); + $this->cookieJar = new CookieJar(); + + $this->beConstructedWith($this->cookieJar); } function it_is_initializable() @@ -29,11 +33,11 @@ function it_is_a_plugin() $this->shouldImplement('Http\Client\Plugin\Plugin'); } - function it_loads_cookie(CookieJar $cookieJar, RequestInterface $request, UriInterface $uri, Promise $promise) + function it_loads_cookie(RequestInterface $request, UriInterface $uri, Promise $promise) { - $cookie = new Cookie('name', 'value', (new \DateTime())->modify('+1day'), 'test.com'); + $cookie = new Cookie('name', 'value', 86400, 'test.com'); + $this->cookieJar->addCookie($cookie); - $cookieJar->getCookies()->willReturn([$cookie]); $request->getUri()->willReturn($uri); $uri->getHost()->willReturn('test.com'); $uri->getPath()->willReturn('/'); @@ -47,11 +51,11 @@ function it_loads_cookie(CookieJar $cookieJar, RequestInterface $request, UriInt }, function () {}); } - function it_does_not_load_cookie_if_expired(CookieJar $cookieJar, RequestInterface $request, UriInterface $uri, Promise $promise) + function it_does_not_load_cookie_if_expired(RequestInterface $request, UriInterface $uri, Promise $promise) { - $cookie = new Cookie('name', 'value', (new \DateTime())->modify('-1day'), 'test.com'); + $cookie = new Cookie('name', 'value', null, 'test.com', false, false, null, (new \DateTime())->modify('-1 day')); + $this->cookieJar->addCookie($cookie); - $cookieJar->getCookies()->willReturn([$cookie]); $request->withAddedHeader('Cookie', 'name=value')->shouldNotBeCalled(); $this->handleRequest($request, function (RequestInterface $requestReceived) use ($request, $promise) { @@ -61,11 +65,11 @@ function it_does_not_load_cookie_if_expired(CookieJar $cookieJar, RequestInterfa }, function () {}); } - function it_does_not_load_cookie_if_domain_does_not_match(CookieJar $cookieJar, RequestInterface $request, UriInterface $uri, Promise $promise) + function it_does_not_load_cookie_if_domain_does_not_match(RequestInterface $request, UriInterface $uri, Promise $promise) { - $cookie = new Cookie('name', 'value', (new \DateTime())->modify('+1day'), 'test2.com'); + $cookie = new Cookie('name', 'value', 86400, 'test2.com'); + $this->cookieJar->addCookie($cookie); - $cookieJar->getCookies()->willReturn([$cookie]); $request->getUri()->willReturn($uri); $uri->getHost()->willReturn('test.com'); @@ -78,11 +82,11 @@ function it_does_not_load_cookie_if_domain_does_not_match(CookieJar $cookieJar, }, function () {}); } - function it_does_not_load_cookie_if_path_does_not_match(CookieJar $cookieJar, RequestInterface $request, UriInterface $uri, Promise $promise) + function it_does_not_load_cookie_if_path_does_not_match(RequestInterface $request, UriInterface $uri, Promise $promise) { - $cookie = new Cookie('name', 'value', (new \DateTime())->modify('+1day'), 'test.com', '/sub'); + $cookie = new Cookie('name', 'value', 86400, 'test.com', '/sub'); + $this->cookieJar->addCookie($cookie); - $cookieJar->getCookies()->willReturn([$cookie]); $request->getUri()->willReturn($uri); $uri->getHost()->willReturn('test.com'); $uri->getPath()->willReturn('/'); @@ -96,11 +100,11 @@ function it_does_not_load_cookie_if_path_does_not_match(CookieJar $cookieJar, Re }, function () {}); } - function it_does_not_load_cookie_when_cookie_is_secure(CookieJar $cookieJar, RequestInterface $request, UriInterface $uri, Promise $promise) + function it_does_not_load_cookie_when_cookie_is_secure(RequestInterface $request, UriInterface $uri, Promise $promise) { - $cookie = new Cookie('name', 'value', (new \DateTime())->modify('+1day'), 'test.com', null, true); + $cookie = new Cookie('name', 'value', 86400, 'test.com', null, true); + $this->cookieJar->addCookie($cookie); - $cookieJar->getCookies()->willReturn([$cookie]); $request->getUri()->willReturn($uri); $uri->getHost()->willReturn('test.com'); $uri->getPath()->willReturn('/'); @@ -115,11 +119,11 @@ function it_does_not_load_cookie_when_cookie_is_secure(CookieJar $cookieJar, Req }, function () {}); } - function it_loads_cookie_when_cookie_is_secure(CookieJar $cookieJar, RequestInterface $request, UriInterface $uri, Promise $promise) + function it_loads_cookie_when_cookie_is_secure(RequestInterface $request, UriInterface $uri, Promise $promise) { - $cookie = new Cookie('name', 'value', (new \DateTime())->modify('+1day'), 'test.com', null, true); + $cookie = new Cookie('name', 'value', 86400, 'test.com', null, true); + $this->cookieJar->addCookie($cookie); - $cookieJar->getCookies()->willReturn([$cookie]); $request->getUri()->willReturn($uri); $uri->getHost()->willReturn('test.com'); $uri->getPath()->willReturn('/'); @@ -134,10 +138,8 @@ function it_loads_cookie_when_cookie_is_secure(CookieJar $cookieJar, RequestInte }, function () {}); } - function it_saves_cookie(CookieJar $cookieJar, RequestInterface $request, ResponseInterface $response, UriInterface $uri) + function it_saves_cookie(RequestInterface $request, ResponseInterface $response, UriInterface $uri) { - $cookieJar->getCookies()->willReturn([]); - $next = function () use ($response) { return new FulfilledPromise($response->getWrappedObject()); }; @@ -147,9 +149,6 @@ function it_saves_cookie(CookieJar $cookieJar, RequestInterface $request, Respon 'cookie=value', ]); - $cookie = new Cookie('cookie', 'value', 0, 'test.com'); - $cookieJar->addCookie($cookie)->shouldBeCalled(); - $request->getUri()->willReturn($uri); $uri->getHost()->willReturn('test.com'); $uri->getPath()->willReturn('/'); diff --git a/src/CookiePlugin.php b/src/CookiePlugin.php index 22ef116..71b56b2 100644 --- a/src/CookiePlugin.php +++ b/src/CookiePlugin.php @@ -2,8 +2,8 @@ namespace Http\Client\Plugin; -use Http\Cookie\Cookie; -use Http\Cookie\CookieJar; +use Http\Message\Cookie; +use Http\Message\CookieJar; use Psr\Http\Message\RequestInterface; use Psr\Http\Message\ResponseInterface;