PluginProbe
Media Cloud Sync / 1.2.12
Media Cloud Sync v1.2.12
1.4.0 1.3.12 1.3.11 1.3.10 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.1.0 1.1.1 1.2.0 1.2.10 1.2.11 1.2.12 1.2.13 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 1.3.0 All 34 releases
media-cloud-sync / includes / sdk / s3 / GuzzleHttp / Handler / CurlHandler.php

CurlHandler.php in Media Cloud Sync 1.2.12, at includes/sdk/s3/GuzzleHttp/Handler/CurlHandler.php

40 lines 1.3 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 namespace Dudlewebs\WPMCS\s3\GuzzleHttp\Handler;
4
5 use Dudlewebs\WPMCS\s3\GuzzleHttp\Psr7;
6 use Dudlewebs\WPMCS\s3\Psr\Http\Message\RequestInterface;
7 /**
8 * HTTP handler that uses cURL easy handles as a transport layer.
9 *
10 * When using the CurlHandler, custom curl options can be specified as an
11 * associative array of curl option constants mapping to values in the
12 * **curl** key of the "client" key of the request.
13 */
14 class CurlHandler
15 {
16 /** @var CurlFactoryInterface */
17 private $factory;
18 /**
19 * Accepts an associative array of options:
20 *
21 * - factory: Optional curl factory used to create cURL handles.
22 *
23 * @param array $options Array of options to use with the handler
24 */
25 public function __construct(array $options = [])
26 {
27 $this->factory = isset($options['handle_factory']) ? $options['handle_factory'] : new CurlFactory(3);
28 }
29 public function __invoke(RequestInterface $request, array $options)
30 {
31 if (isset($options['delay'])) {
32 \usleep($options['delay'] * 1000);
33 }
34 $easy = $this->factory->create($request, $options);
35 \curl_exec($easy->handle);
36 $easy->errno = \curl_errno($easy->handle);
37 return CurlFactory::finish($this, $easy, $this->factory);
38 }
39 }
40