summaryrefslogtreecommitdiff
path: root/server/vendor/guzzlehttp/guzzle/src/Handler/CurlHandler.php
diff options
context:
space:
mode:
authorEole <josselin.35@live.fr>2016-01-21 10:29:26 +0100
committerEole <josselin.35@live.fr>2016-01-21 10:29:26 +0100
commita44cc1d2e3c0f147e91a5c052ac7fd879e34e706 (patch)
treebdd6f72e0ba732c4fcc0479d1cfcf4d0baa5885d /server/vendor/guzzlehttp/guzzle/src/Handler/CurlHandler.php
parent35db27b0e62b4cdcb03b0d21bceb4efc769e6161 (diff)
Init Server Composer Components
Diffstat (limited to 'server/vendor/guzzlehttp/guzzle/src/Handler/CurlHandler.php')
-rw-r--r--server/vendor/guzzlehttp/guzzle/src/Handler/CurlHandler.php45
1 files changed, 45 insertions, 0 deletions
diff --git a/server/vendor/guzzlehttp/guzzle/src/Handler/CurlHandler.php b/server/vendor/guzzlehttp/guzzle/src/Handler/CurlHandler.php
new file mode 100644
index 0000000..43577da
--- /dev/null
+++ b/server/vendor/guzzlehttp/guzzle/src/Handler/CurlHandler.php
@@ -0,0 +1,45 @@
+<?php
+namespace GuzzleHttp\Handler;
+
+use GuzzleHttp\Psr7;
+use Psr\Http\Message\RequestInterface;
+
+/**
+ * HTTP handler that uses cURL easy handles as a transport layer.
+ *
+ * When using the CurlHandler, custom curl options can be specified as an
+ * associative array of curl option constants mapping to values in the
+ * **curl** key of the "client" key of the request.
+ */
+class CurlHandler
+{
+ /** @var CurlFactoryInterface */
+ private $factory;
+
+ /**
+ * Accepts an associative array of options:
+ *
+ * - factory: Optional curl factory used to create cURL handles.
+ *
+ * @param array $options Array of options to use with the handler
+ */
+ public function __construct(array $options = [])
+ {
+ $this->factory = isset($options['handle_factory'])
+ ? $options['handle_factory']
+ : new CurlFactory(3);
+ }
+
+ public function __invoke(RequestInterface $request, array $options)
+ {
+ if (isset($options['delay'])) {
+ usleep($options['delay'] * 1000);
+ }
+
+ $easy = $this->factory->create($request, $options);
+ curl_exec($easy->handle);
+ $easy->errno = curl_errno($easy->handle);
+
+ return CurlFactory::finish($this, $easy, $this->factory);
+ }
+}