PluginProbe
AutomatorWP – No-Code Workflow Automation, Integration & Webhooks Plugin, now with AI / 6.0.3
AutomatorWP – No-Code Workflow Automation, Integration & Webhooks Plugin, now with AI v6.0.3
6.0.3 6.0.2 6.0.1 6.0.0 5.8.6 5.8.5 5.8.4 5.8.3 5.8.2 5.8.1 5.8.0 5.7.9.2 5.7.9.1 5.7.8 5.7.9 5.7.6 5.7.7 5.7.5 5.7.4 5.7.3 5.7.2 5.7.1 trunk 5.6.0 5.6.1 All 34 releases
automatorwp / integrations / mailchimp / vendor / guzzlehttp / guzzle / src / Handler / CurlHandler.php

CurlHandler.php in AutomatorWP – No-Code Workflow Automation, Integration & Webhooks Plugin, now with AI 6.0.3, at integrations/mailchimp/vendor/guzzlehttp/guzzle/src/Handler/CurlHandler.php

50 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 GuzzleHttp\Handler;
4
5 use GuzzleHttp\Promise\PromiseInterface;
6 use Psr\Http\Message\RequestInterface;
7
8 /**
9 * HTTP handler that uses cURL easy handles as a transport layer.
10 *
11 * When using the CurlHandler, custom curl options can be specified as an
12 * associative array of curl option constants mapping to values in the
13 * **curl** key of the "client" key of the request.
14 *
15 * @final
16 */
17 class CurlHandler
18 {
19 /**
20 * @var CurlFactoryInterface
21 */
22 private $factory;
23
24 /**
25 * Accepts an associative array of options:
26 *
27 * - handle_factory: Optional curl factory used to create cURL handles.
28 *
29 * @param array{handle_factory?: ?CurlFactoryInterface} $options Array of options to use with the handler
30 */
31 public function __construct(array $options = [])
32 {
33 $this->factory = $options['handle_factory']
34 ?? new CurlFactory(3);
35 }
36
37 public function __invoke(RequestInterface $request, array $options): PromiseInterface
38 {
39 if (isset($options['delay'])) {
40 \usleep($options['delay'] * 1000);
41 }
42
43 $easy = $this->factory->create($request, $options);
44 \curl_exec($easy->handle);
45 $easy->errno = \curl_errno($easy->handle);
46
47 return CurlFactory::finish($this, $easy, $this->factory);
48 }
49 }
50