X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=http_request_api.c;h=c7bdcb316705b1c24e7273ae09682f6c28a5358f;hb=a0098fdbfef71be0fab417b5bc624dc884bd4549;hp=d9b1a2198a06067823881907a09bbad592407856;hpb=5dca59e3a269c903b395d97abe831c0fc138b5b6;p=m6w6%2Fext-http diff --git a/http_request_api.c b/http_request_api.c index d9b1a21..c7bdcb3 100644 --- a/http_request_api.c +++ b/http_request_api.c @@ -433,9 +433,13 @@ PHP_HTTP_API STATUS _http_request_init(CURL *ch, http_request_method meth, char } #endif - /* compress, empty string enables deflate and gzip */ + /* compress, empty string enables all supported if libcurl was build with zlib support */ if ((zoption = http_curl_getopt(options, "compress", IS_BOOL)) && Z_LVAL_P(zoption)) { +#ifdef HTTP_HAVE_ZLIB + HTTP_CURL_OPT(ENCODING, "gzip;q=1.0, deflate;q=0.5, *;q=0"); +#else HTTP_CURL_OPT(ENCODING, ""); +#endif } /* redirects, defaults to 0 */ @@ -739,14 +743,9 @@ PHP_HTTP_API void _http_request_info(CURL *ch, HashTable *info TSRMLS_DC) PHP_HTTP_API STATUS _http_request_ex(CURL *ch, http_request_method meth, char *url, http_request_body *body, HashTable *options, HashTable *info, phpstr *response TSRMLS_DC) { STATUS status; - zend_bool clean_curl; + zend_bool clean_curl = !ch; - if ((clean_curl = (!ch))) { - if (!(ch = curl_easy_init())) { - http_error(HE_WARNING, HTTP_E_REQUEST, "Could not initialize curl."); - return FAILURE; - } - } + HTTP_CHECK_CURL_INIT(ch, curl_easy_init(), return FAILURE); status = ((SUCCESS == http_request_init(ch, meth, url, body, options)) && (SUCCESS == http_request_exec(ch, info, response, NULL))) ? SUCCESS : FAILURE; @@ -975,6 +974,15 @@ static inline void _http_curl_defaults(CURL *ch) #endif /* HTTP_HAVE_CURL */ +zend_bool _http_request_supports_ssl(void) +{ +#ifdef HTTP_NEED_SSL + return (zend_bool) 1; +#else + return (zend_bool) 0; +#endif +} + /* * Local variables: * tab-width: 4