From 5a73d6c614f6a8324cff5ffeb358d11c8b19dded Mon Sep 17 00:00:00 2001 From: Joel Wurtz Date: Sat, 12 Dec 2015 23:58:47 +0100 Subject: [PATCH] Use php-http/promise for the async interface --- composer.json | 5 ++- src/HttpAsyncClient.php | 1 + src/Promise.php | 83 ----------------------------------------- 3 files changed, 4 insertions(+), 85 deletions(-) delete mode 100644 src/Promise.php diff --git a/composer.json b/composer.json index fb89410..02208eb 100644 --- a/composer.json +++ b/composer.json @@ -16,10 +16,11 @@ ], "require": { "php": ">=5.4", - "psr/http-message": "^1.0" + "psr/http-message": "^1.0", + "php-http/promise": "dev-master" }, "require-dev": { - "phpspec/phpspec": "^2.4@dev", + "phpspec/phpspec": "^2.4", "henrikbjorn/phpspec-code-coverage" : "^1.0" }, "autoload": { diff --git a/src/HttpAsyncClient.php b/src/HttpAsyncClient.php index 9cd1c36..f426979 100644 --- a/src/HttpAsyncClient.php +++ b/src/HttpAsyncClient.php @@ -2,6 +2,7 @@ namespace Http\Client; +use Http\Promise\Promise; use Psr\Http\Message\RequestInterface; /** diff --git a/src/Promise.php b/src/Promise.php deleted file mode 100644 index f97b8a9..0000000 --- a/src/Promise.php +++ /dev/null @@ -1,83 +0,0 @@ - - */ -interface Promise -{ - /** - * Pending state, promise has not been fulfilled or rejected. - */ - const PENDING = "pending"; - - /** - * Fulfilled state, promise has been fulfilled with a ResponseInterface object. - */ - const FULFILLED = "fulfilled"; - - /** - * Rejected state, promise has been rejected with an Exception object. - */ - const REJECTED = "rejected"; - - /** - * Add behavior for when the promise is resolved or rejected (response will be available, or error happens). - * - * If you do not care about one of the cases, you can set the corresponding callable to null - * The callback will be called when the response or exception arrived and never more than once. - * - * @param callable $onFulfilled Called when a response will be available. - * @param callable $onRejected Called when an error happens. - * - * You must always return the Response in the interface or throw an Exception. - * - * @return Promise Always returns a new promise which is resolved with value of the executed callback (onFulfilled / onRejected). - */ - public function then(callable $onFulfilled = null, callable $onRejected = null); - - /** - * Get the state of the promise, one of PENDING, FULFILLED or REJECTED - * - * @return int - */ - public function getState(); - - /** - * Return the value of the promise (fulfilled). - * - * @return ResponseInterface Response Object only when the Promise is fulfilled. - * - * @throws \LogicException When the promise is not fulfilled. - */ - public function getResponse(); - - /** - * Get the reason why the promise was rejected.. - * - * If the exception is an instance of Http\Client\Exception\HttpException it will contain - * the response object with the status code and the http reason. - * - * @return Exception Exception Object only when the Promise is rejected. - * - * @throws \LogicException When the promise is not rejected. - */ - public function getException(); - - /** - * Wait for the promise to be fulfilled or rejected. - * - * When this method returns, the request has been resolved and the appropriate callable has terminated. - */ - public function wait(); -}