diff --git a/src/Client.php b/src/Client.php index f6b844c..739fdc2 100644 --- a/src/Client.php +++ b/src/Client.php @@ -53,7 +53,7 @@ class Client implements HttpClient, HttpAsyncClient /** * cURL synchronous requests handle. * - * @var resource|null + * @var resource|\CurlHandle|null */ private $handle; diff --git a/src/PromiseCore.php b/src/PromiseCore.php index 2b0256d..e5a649a 100644 --- a/src/PromiseCore.php +++ b/src/PromiseCore.php @@ -69,9 +69,9 @@ class PromiseCore /** * Create shared core. * - * @param RequestInterface $request HTTP request. - * @param resource $handle cURL handle. - * @param ResponseBuilder $responseBuilder Response builder. + * @param RequestInterface $request HTTP request. + * @param resource|CurlHandle $handle cURL handle. + * @param ResponseBuilder $responseBuilder Response builder. * * @throws \InvalidArgumentException If $handle is not a cURL resource. */ @@ -80,7 +80,7 @@ public function __construct( $handle, ResponseBuilder $responseBuilder ) { - if (!is_resource($handle)) { + if (!is_resource($handle) && !(is_object($handle) && $handle instanceof \GdImage)) { throw new \InvalidArgumentException( sprintf( 'Parameter $handle expected to be a cURL resource, %s given', @@ -89,7 +89,7 @@ public function __construct( ); } - if (get_resource_type($handle) !== 'curl') { + if (is_resource($handle) && get_resource_type($handle) !== 'curl') { throw new \InvalidArgumentException( sprintf( 'Parameter $handle expected to be a cURL resource, %s resource given', @@ -138,7 +138,7 @@ public function addOnRejected(callable $callback): void /** * Return cURL handle. * - * @return resource + * @return resource|\CurlHandle */ public function getHandle() {