- make request_exec() always succeed (picky curl)
[m6w6/ext-http] / http_request_api.c
index b92cbfe88b761d874cf3279979758c8f5ca98e5a..5d6b8f22dd0d778466c328b8d46ec56dda37cc68 100644 (file)
@@ -721,16 +721,19 @@ PHP_HTTP_API STATUS _http_request_exec(CURL *ch, HashTable *info, phpstr *respon
        http_request_conv(ch, response, request);
 
        /* perform request */
-       if (CURLE_OK != (result = curl_easy_perform(ch))) {
-               http_error_ex(HE_WARNING, HTTP_E_REQUEST, "Could not perform request: %s", curl_easy_strerror(result));
-               return FAILURE;
-       } else {
-               /* get curl info */
-               if (info) {
-                       http_request_info(ch, info);
-               }
-               return SUCCESS;
+       switch (result = curl_easy_perform(ch))
+       {
+               default:
+                       http_error(HE_WARNING, HTTP_E_REQUEST, curl_easy_strerror(result));
+               case CURLE_OK:
+                       /* get curl info */
+                       if (info) {
+                               http_request_info(ch, info);
+                       }
+               break;
        }
+       /* always succeeds */
+       return SUCCESS;
 }
 /* }}} */