X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=http_request_api.c;h=ea63dfa6df2ee4d4f35bcd0f1d793ea4b2c6864d;hb=7af57cc6167fbadcf861e0edcc0d44b9ae44dd5f;hp=f62881b1bf6b20a739595548370e87790485656c;hpb=833996197be90565b5bf497aa28226ddf10fb575;p=m6w6%2Fext-http diff --git a/http_request_api.c b/http_request_api.c index f62881b..ea63dfa 100644 --- a/http_request_api.c +++ b/http_request_api.c @@ -114,6 +114,10 @@ PHP_MINIT_FUNCTION(http_request) HTTP_LONG_CONSTANT("HTTP_VERSION_NONE", CURL_HTTP_VERSION_NONE); HTTP_LONG_CONSTANT("HTTP_VERSION_1_0", CURL_HTTP_VERSION_1_0); HTTP_LONG_CONSTANT("HTTP_VERSION_1_1", CURL_HTTP_VERSION_1_1); + + HTTP_LONG_CONSTANT("HTTP_IPRESOLVE_V4", CURL_IPRESOLVE_V4); + HTTP_LONG_CONSTANT("HTTP_IPRESOLVE_V6", CURL_IPRESOLVE_V6); + HTTP_LONG_CONSTANT("HTTP_IPRESOLVE_ANY", CURL_IPRESOLVE_WHATEVER); #if HTTP_CURL_VERSION(7,15,2) HTTP_LONG_CONSTANT("HTTP_PROXY_SOCKS4", CURLPROXY_SOCKS4); @@ -348,6 +352,7 @@ PHP_HTTP_API void _http_request_defaults(http_request *request) HTTP_CURL_OPT(CURLOPT_PROXYUSERPWD, NULL); HTTP_CURL_OPT(CURLOPT_PROXYAUTH, 0L); HTTP_CURL_OPT(CURLOPT_DNS_CACHE_TIMEOUT, 60L); + HTTP_CURL_OPT(CURLOPT_IPRESOLVE, 0); HTTP_CURL_OPT(CURLOPT_LOW_SPEED_LIMIT, 0L); HTTP_CURL_OPT(CURLOPT_LOW_SPEED_TIME, 0L); #if HTTP_CURL_VERSION(7,15,5) @@ -476,6 +481,9 @@ PHP_HTTP_API STATUS _http_request_prepare(http_request *request, HashTable *opti if ((zoption = http_request_option(request, options, "dns_cache_timeout", IS_LONG))) { HTTP_CURL_OPT(CURLOPT_DNS_CACHE_TIMEOUT, Z_LVAL_P(zoption)); } + if ((zoption = http_request_option(request, options, "ipresolve", IS_LONG)) && Z_LVAL_P(zoption)) { + HTTP_CURL_OPT(CURLOPT_IPRESOLVE, Z_LVAL_P(zoption)); + } /* limits */ if ((zoption = http_request_option(request, options, "low_speed_limit", IS_LONG))) { @@ -618,7 +626,7 @@ PHP_HTTP_API STATUS _http_request_prepare(http_request *request, HashTable *opti request->_cache.headers = NULL; } if ((zoption = http_request_option(request, options, "headers", IS_ARRAY))) { - char *header_key; + char *header_key = NULL; ulong header_idx; HashPosition pos;