File Manager Lite
Dir:
/home/codewavebd/public_html/vendor/guzzlehttp/guzzle/src/Handler
Upload
[..]
CurlFactory.php (44.13 KB)
Edit
Rename
Del
CurlHandler.php (2.25 KB)
Edit
Rename
Del
CurlMultiHandler.php (11.32 KB)
Edit
Rename
Del
CurlShareHandleState.php (4.86 KB)
Edit
Rename
Del
EasyHandle.php (2.88 KB)
Edit
Rename
Del
Proxy.php (2.01 KB)
Edit
Rename
Del
Edit: CurlHandler.php
<?php namespace GuzzleHttp\Handler; use GuzzleHttp\Promise\PromiseInterface; use GuzzleHttp\TransportSharing; 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. * * @final */ class CurlHandler { /** * @var CurlFactoryInterface */ private $factory; /** * @var CurlShareHandleState|null */ private $shareHandleState; /** * Accepts an associative array of options: * * - handle_factory: Optional curl factory used to create cURL handles. * - transport_sharing: Optional transport sharing mode. * * @param array{handle_factory?: ?CurlFactoryInterface, transport_sharing?: mixed} $options Array of options to use with the handler */ public function __construct(array $options = []) { CurlShareHandleState::assertNoRequiredSharingCustomFactoryConflict($options, 'CurlHandler'); $transportSharing = $options['transport_sharing'] ?? null; $sharingMode = CurlShareHandleState::normalizeMode($transportSharing, 'transport_sharing'); if (\array_key_exists('handle_factory', $options) && $options['handle_factory'] !== null) { $this->shareHandleState = null; $this->factory = $options['handle_factory']; return; } $this->shareHandleState = $sharingMode !== TransportSharing::NONE ? CurlShareHandleState::fromOption($transportSharing) : null; $this->factory = $this->shareHandleState !== null ? new CurlFactory(3, $this->shareHandleState->mode, $this->shareHandleState->handle) : new CurlFactory(3); } public function __invoke(RequestInterface $request, array $options): PromiseInterface { 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); } }
Simpan