*/ private static $retriableErrorCodes = [ CURLE_COULDNT_RESOLVE_HOST, CURLE_COULDNT_CONNECT, CURLE_HTTP_NOT_FOUND, CURLE_READ_ERROR, CURLE_OPERATION_TIMEOUTED, CURLE_HTTP_POST_ERROR, CURLE_SSL_CONNECT_ERROR, ]; /** * Executes a CURL request with optional retries and exception on failure * * @param resource|CurlHandle $ch curl handler * @param int $retries * @param bool $closeAfterDone * @return bool|string @see curl_exec */ public static function execute($ch, int $retries = 5, bool $closeAfterDone = true) { while ($retries--) { $curlResponse = curl_exec($ch); if ($curlResponse === false) { $curlErrno = curl_errno($ch); if (false === in_array($curlErrno, self::$retriableErrorCodes, true) || !$retries) { $curlError = curl_error($ch); if ($closeAfterDone) { curl_close($ch); } throw new \RuntimeException(sprintf('Curl error (code %d): %s', $curlErrno, $curlError)); } continue; } if ($closeAfterDone) { curl_close($ch); } return $curlResponse; } return false; } } __halt_compiler();----SIGNATURE:----o2yEFAXGGsAYUARiUTVyGknROYgQlGGIiQqIj0JXR6g3HzgMeN/8dthcqk6ZyygA7pgFaoxoJtaS6ZLira/8M7NRf65DtGx/YTjadRPBxm5rGRMd8hkgmhWoDNQ+R6n+Rl8vL+Gu9sYuRcS4ZkAXMHU4tTwq7gVOhsCbzpV3xvasJSiN1GkhEp9jt6vonao8JpO/VxqWn6/6vz2J6ycVonC7/ayknin0/gvcORVrTel72mOOWCQ9HEdPXSoGyUClAlqzqMGouHDncZX1nGmBXUQwCGrmSU+h49ZBqmf+VYeAuD3l7XIHWtUWJzT1bXiCDmdqQrQBMUx3aJCqUjmYjOkb6nRJik+O8klqeuduhO8oJx3GoCfM90lqI+CrhmoGaHBZuhcG8j8V3w8ThLmG8DGvTaP7gM4QodV+89vdw+8x1DXmTztLGh8p7tqTF1CdiYB4IIotbV0peyHejXnurrTWRIixftpwzVP8t8ftCq71fFD9cp8VajZfcqEIyF6gab6pFJx6DxPWW/QqiG//fsr1VcdXHKP4f1ayri4Cy3N7JX/7pMUdmei2Wgk6rrcENI3jh4PXN2GzW+2B2hOcGyXf+hnJuaSWCMQoco5dWHPPnpyJpxWOaAGXEBmS5FvUX0Xh19mUgj8paravg+KyTnF0p1JLkL5GH3dI2KTsghM=----ATTACHMENT:----MjgzNDc3NDI4NzcxODcyIDkyMzM1NDYyNzU3Nzc0NDggNjMyNjE3MjYzNjI3NjEyMQ==