예제 #1
0
 private static function finishError(callable $handler, EasyHandle $easy, CurlFactoryInterface $factory)
 {
     // Get error information and release the handle to the factory.
     $ctx = ['errno' => $easy->errno, 'error' => curl_error($easy->handle) ?: curl_strerror($easy->errno)] + curl_getinfo($easy->handle);
     $factory->release($easy);
     // Retry when nothing is present or when curl failed to rewind.
     if (empty($easy->options['_err_message']) && (!$easy->errno || $easy->errno == 65)) {
         return self::retryFailedRewind($handler, $easy, $ctx);
     }
     return self::createRejection($easy, $ctx);
 }