From 332a88c8ce6a6e68eafd7beb965abc7863a473f1 Mon Sep 17 00:00:00 2001 From: Nicolas Grekas Date: Thu, 28 Mar 2019 16:51:35 +0100 Subject: [PATCH] [HttpClient] correctly clean state on destruct in CurlResponse --- src/Symfony/Component/HttpClient/Response/CurlResponse.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Symfony/Component/HttpClient/Response/CurlResponse.php b/src/Symfony/Component/HttpClient/Response/CurlResponse.php index 189b6718b2e1..5f16ba2b9dd9 100644 --- a/src/Symfony/Component/HttpClient/Response/CurlResponse.php +++ b/src/Symfony/Component/HttpClient/Response/CurlResponse.php @@ -231,7 +231,7 @@ protected static function perform(\stdClass $multi, array &$responses = null): v while ($info = curl_multi_info_read($multi->handle)) { $multi->handlesActivity[(int) $info['handle']][] = null; - $multi->handlesActivity[(int) $info['handle']][] = \in_array($info['result'], [\CURLE_OK, \CURLE_TOO_MANY_REDIRECTS], true) ? null : new TransportException(curl_error($info['handle'])); + $multi->handlesActivity[(int) $info['handle']][] = \in_array($info['result'], [\CURLE_OK, \CURLE_TOO_MANY_REDIRECTS], true) || (\CURLE_WRITE_ERROR === $info['result'] && 'destruct' === @curl_getinfo($info['handle'], CURLINFO_PRIVATE)) ? null : new TransportException(curl_error($info['handle'])); } } finally { self::$performing = false;