You are here

public function CurlFactory::release in Auth0 Single Sign On 8.2

Release an easy handle, allowing it to be reused or closed.

This function must call unset on the easy handle's "handle" property.

Parameters

EasyHandle $easy:

Overrides CurlFactoryInterface::release

File

vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php, line 64

Class

CurlFactory
Creates curl resources from a request

Namespace

GuzzleHttp\Handler

Code

public function release(EasyHandle $easy) {
  $resource = $easy->handle;
  unset($easy->handle);
  if (count($this->handles) >= $this->maxHandles) {
    curl_close($resource);
  }
  else {

    // Remove all callback functions as they can hold onto references
    // and are not cleaned up by curl_reset. Using curl_setopt_array
    // does not work for some reason, so removing each one
    // individually.
    curl_setopt($resource, CURLOPT_HEADERFUNCTION, null);
    curl_setopt($resource, CURLOPT_READFUNCTION, null);
    curl_setopt($resource, CURLOPT_WRITEFUNCTION, null);
    curl_setopt($resource, CURLOPT_PROGRESSFUNCTION, null);
    curl_reset($resource);
    $this->handles[] = $resource;
  }
}