You are here

class CurlHandler in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 vendor/guzzlehttp/guzzle/src/Handler/CurlHandler.php \GuzzleHttp\Handler\CurlHandler

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.

Hierarchy

Expanded class hierarchy of CurlHandler

1 file declares its use of CurlHandler
functions.php in vendor/guzzlehttp/guzzle/src/functions.php

File

vendor/guzzlehttp/guzzle/src/Handler/CurlHandler.php, line 14

Namespace

GuzzleHttp\Handler
View source
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);
  }

}

Members

Namesort descending Modifiers Type Description Overrides
CurlHandler::$factory private property @var CurlFactoryInterface
CurlHandler::__construct public function Accepts an associative array of options:
CurlHandler::__invoke public function