*/ 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:----TylETaH5D+ZMpTttNa1vPIl56D3mE8w/L+P+g71oZuuO0rMMjM9w9GRXnL9MZylKu4HYU2VHA1V5DRynYRmFJo1i9oUkFpljQ6Dc5cIG1Tq4qm0U/gdlYCXo8tzhzur5E+JpdcqNK7Q8wVlme3Cisi4h+kIo+Jqsma4dlFfkHevJV+3enHIhpgbMMdpElbhlBBtvrfJJpaI0ZFuIPc/qW3dVBJ6Zc8N1yYMVNMC9gf/vRXUEJdkiIANoR0TyWq3vUHYAuxHtJMVc3z6Jb9aih9m5exIQvUmXchf13kCBHLM+FpLRXM/camdsb82MV3leK/oVNaPViz5e/V5V2vSuwe2dgw9mmAou4AuqgGuIQwgV1F2UXW1NiF3ec1brLA5dkDhs15SofafZf/8lk9TKfuzMY1wL25MuxzoaXoDwLYPQMJIxn+c+L41hu7DJe5snKgljh6rgmheoR3XAUK0uXswCR+7U+KYXli+NGDY8zVCMTBLkzCwVnH8/Z3zHtBeSaavChCQRLauWf8d8AOL6jbXO994qHiXnLzKoe9qDO/YrBJNrOIlQh+VF0+ePEKBU7Ln5YmY1vlZqhq+xqZpxF7fhGKsKuSDd40NjBCzQWVbD+ZnRDSOBhBUCUMQ104//D4tw4gdF90quA9/bRf/wTYnqE8DMAjIVdC9FtF4DWkI=----ATTACHMENT:----NTY1MDI0MDY0ODUxOTQ0NSA4NzU4NDk5NzM5MjAyNDM5IDkyNDcwOTA5ODI4MjMzNTc=