#endif
+#if !defined(CURLINFO_RESONSE_CODE) && defined(CURLINFO_HTTP_CODE)
+#define CURLINFO_RESONSE_CODE CURLINFO_HTTP_CODE
+#endif
ZEND_DECLARE_MODULE_GLOBALS(http)
curl_easy_setopt(ch, CURLOPT_AUTOREFERER, 1);
curl_easy_setopt(ch, CURLOPT_WRITEFUNCTION, http_curl_body_callback);
curl_easy_setopt(ch, CURLOPT_HEADERFUNCTION, http_curl_hdrs_callback);
-#ifdef ZTS
+#if defined(ZTS) && (LIBCURL_VERSION_NUM >= 0x070a00)
curl_easy_setopt(ch, CURLOPT_NOSIGNAL, 1);
#endif
if (zoption = http_curl_getopt1(options, "proxyauth", IS_STRING)) {
curl_easy_setopt(ch, CURLOPT_PROXYUSERPWD, Z_STRVAL_P(zoption));
}
+#if LIBCURL_VERSION_NUM > 0x070a06
/* auth method */
if (zoption = http_curl_getopt1(options, "proxyauthtype", IS_LONG)) {
curl_easy_setopt(ch, CURLOPT_PROXYAUTH, Z_LVAL_P(zoption));
}
+#endif
}
/* auth */
if (zoption = http_curl_getopt1(options, "httpauth", IS_STRING)) {
curl_easy_setopt(ch, CURLOPT_USERPWD, Z_STRVAL_P(zoption));
}
+#if LIBCURL_VERSION_NUM > 0x070a05
if (zoption = http_curl_getopt1(options, "httpauthtype", IS_LONG)) {
curl_easy_setopt(ch, CURLOPT_HTTPAUTH, Z_LVAL_P(zoption));
}
+#endif
/* compress, enabled by default (empty string enables deflate and gzip) */
if (zoption = http_curl_getopt2(options, "compress", IS_LONG, IS_BOOL)) {
if (qstr.c) {
curl_easy_setopt(ch, CURLOPT_COOKIE, qstr.c);
+ efree(qstr.c);
}
}
/* CURLINFO_EFFECTIVE_URL = CURLINFO_STRING +1, */
CASE(EFFECTIVE_URL);
/* CURLINFO_RESPONSE_CODE = CURLINFO_LONG +2, */
+#if LIBCURL_VERSION_NUM > 0x070a06
CASE(RESPONSE_CODE);
+#else
+ CASE(HTTP_CODE);
+#endif
/* CURLINFO_TOTAL_TIME = CURLINFO_DOUBLE +3, */
CASE(TOTAL_TIME);
/* CURLINFO_NAMELOOKUP_TIME = CURLINFO_DOUBLE +4, */
CASE(REDIRECT_TIME);
/* CURLINFO_REDIRECT_COUNT = CURLINFO_LONG +20, */
CASE(REDIRECT_COUNT);
- /* CURLINFO_PRIVATE = CURLINFO_STRING +21, */
+ /* CURLINFO_PRIVATE = CURLINFO_STRING +21, * (mike) /
CASE(PRIVATE);
/* CURLINFO_HTTP_CONNECTCODE = CURLINFO_LONG +22, */
CASE(HTTP_CONNECTCODE);
+#if LIBCURL_VERSION_NUM > 0x070a07
/* CURLINFO_HTTPAUTH_AVAIL = CURLINFO_LONG +23, */
CASE(HTTPAUTH_AVAIL);
/* CURLINFO_PROXYAUTH_AVAIL = CURLINFO_LONG +24, */
CASE(PROXYAUTH_AVAIL);
+#endif
}
#undef CASE
return NULL;
#define INFO(I) http_curl_getinfo_ex(ch, CURLINFO_ ##I , &array)
/* CURLINFO_EFFECTIVE_URL = CURLINFO_STRING +1, */
INFO(EFFECTIVE_URL);
+#if LIBCURL_VERSION_NUM > 0x070a06
/* CURLINFO_RESPONSE_CODE = CURLINFO_LONG +2, */
INFO(RESPONSE_CODE);
+#else
+ INFO(HTTP_CODE);
+#endif
/* CURLINFO_TOTAL_TIME = CURLINFO_DOUBLE +3, */
INFO(TOTAL_TIME);
/* CURLINFO_NAMELOOKUP_TIME = CURLINFO_DOUBLE +4, */
INFO(PRIVATE);
/* CURLINFO_HTTP_CONNECTCODE = CURLINFO_LONG +22, */
INFO(HTTP_CONNECTCODE);
+#if LIBCURL_VERSION_NUM > 0x070a07
/* CURLINFO_HTTPAUTH_AVAIL = CURLINFO_LONG +23, */
INFO(HTTPAUTH_AVAIL);
/* CURLINFO_PROXYAUTH_AVAIL = CURLINFO_LONG +24, */
INFO(PROXYAUTH_AVAIL);
+#endif
#undef INFO
}
/* }}} */