return SUCCESS;
}
-static STATUS php_http_client_curl_exec(php_http_client_t *h, php_http_message_t *msg)
+STATUS php_http_client_curl_prepare(php_http_client_t *h, php_http_message_t *msg)
{
- uint tries = 0;
- CURLcode result;
php_http_client_curl_t *curl = h->ctx;
php_http_client_curl_storage_t *storage = get_storage(curl->handle);
TSRMLS_FETCH_FROM_CTX(h->ts);
/* request url */
if (!PHP_HTTP_INFO(msg).request.url) {
php_http_error(HE_WARNING, PHP_HTTP_E_CLIENT, "Cannot request empty URL");
+ return FAILURE;
}
storage->errorbuffer[0] = '\0';
if (storage->url) {
curl_easy_setopt(curl->handle, CURLOPT_POSTFIELDSIZE, body_size);
}
+ return SUCCESS;
+}
+
+static STATUS php_http_client_curl_exec(php_http_client_t *h, php_http_message_t *msg)
+{
+ uint tries = 0;
+ CURLcode result;
+ php_http_client_curl_t *curl = h->ctx;
+ php_http_client_curl_storage_t *storage = get_storage(curl->handle);
+ TSRMLS_FETCH_FROM_CTX(h->ts);
+
+ if (SUCCESS != php_http_client_curl_prepare(h, msg)) {
+ return FAILURE;
+ }
+
retry:
if (CURLE_OK != (result = curl_easy_perform(curl->handle))) {
php_http_error(HE_WARNING, PHP_HTTP_E_CLIENT, "%s; %s (%s)", curl_easy_strerror(result), storage->errorbuffer, storage->url);