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); }