etag test & fixes; set default etag mode for temp streams to crc32(b)
[m6w6/ext-http] / php_http.c
index b71e6c26115722c305634811dbe31ef5909a1d96..889cb09a46d1310f1e0c34ab33d36e6103da49f2 100644 (file)
     +--------------------------------------------------------------------+
 */
 
-#include "php_http.h"
+#include "php_http_api.h"
+
+#include <php_ini.h>
+#include <ext/standard/info.h>
 
 #include <zlib.h>
+
 #if PHP_HTTP_HAVE_CURL
 #      include <curl/curl.h>
 #      if PHP_HTTP_HAVE_EVENT
 #              include <event.h>
 #      endif
 #endif
-#if PHP_HTTP_HAVE_NEON
-#      include "neon/ne_utils.h"
-#endif
 #if PHP_HTTP_HAVE_SERF
-#      include "serf.h"
+#      include <serf.h>
 #endif
 
-#include <main/php_ini.h>
-#include <ext/standard/info.h>
-#include <Zend/zend_extensions.h>
-
 ZEND_DECLARE_MODULE_GLOBALS(php_http);
 
 #ifdef COMPILE_DL_HTTP
@@ -48,13 +45,13 @@ PHP_MINFO_FUNCTION(http);
 
 static zend_module_dep http_module_deps[] = {
        ZEND_MOD_REQUIRED("spl")
-#if PHP_HTTP_HAVE_HASH
+#ifdef PHP_HTTP_HAVE_HASH
        ZEND_MOD_REQUIRED("hash")
 #endif
-#if PHP_HTTP_HAVE_ICONV
+#ifdef PHP_HTTP_HAVE_ICONV
        ZEND_MOD_REQUIRED("iconv")
 #endif
-#if PHP_HTTP_HAVE_EVENT
+#ifdef PHP_HTTP_HAVE_EVENT
        ZEND_MOD_CONFLICTS("event")
 #endif
        {NULL, NULL, NULL, 0}
@@ -121,7 +118,7 @@ zend_php_http_globals *php_http_globals(void)
 #endif
 #endif
 PHP_INI_BEGIN()
-       PHP_HTTP_INI_ENTRY("http.etag.mode", "md5", PHP_INI_ALL, OnUpdateString, env.etag_mode)
+       PHP_HTTP_INI_ENTRY("http.etag.mode", "crc32b", PHP_INI_ALL, OnUpdateString, env.etag_mode)
        PHP_HTTP_INI_ENTRY("http.request_datashare.cookie", "0", PHP_INI_SYSTEM, OnUpdateBool, request_datashare.cookie)
        PHP_HTTP_INI_ENTRY("http.request_datashare.dns", "1", PHP_INI_SYSTEM, OnUpdateBool, request_datashare.dns)
        PHP_HTTP_INI_ENTRY("http.request_datashare.ssl", "0", PHP_INI_SYSTEM, OnUpdateBool, request_datashare.ssl)
@@ -142,6 +139,7 @@ PHP_MINIT_FUNCTION(http)
        || SUCCESS != PHP_MINIT_CALL(http_cookie)
        || SUCCESS != PHP_MINIT_CALL(http_encoding)
        || SUCCESS != PHP_MINIT_CALL(http_filter)
+       || SUCCESS != PHP_MINIT_CALL(http_header)
        || SUCCESS != PHP_MINIT_CALL(http_message)
        || SUCCESS != PHP_MINIT_CALL(http_message_body)
        || SUCCESS != PHP_MINIT_CALL(http_property_proxy)
@@ -150,9 +148,6 @@ PHP_MINIT_FUNCTION(http)
        || SUCCESS != PHP_MINIT_CALL(http_request)
 #if PHP_HTTP_HAVE_CURL
        || SUCCESS != PHP_MINIT_CALL(http_curl)
-#endif
-#if PHP_HTTP_HAVE_NEON
-       || SUCCESS != PHP_MINIT_CALL(http_neon)
 #endif
        || SUCCESS != PHP_MINIT_CALL(http_request_datashare)
        || SUCCESS != PHP_MINIT_CALL(http_request_method)
@@ -160,6 +155,7 @@ PHP_MINIT_FUNCTION(http)
        || SUCCESS != PHP_MINIT_CALL(http_url)
        || SUCCESS != PHP_MINIT_CALL(http_env)
        || SUCCESS != PHP_MINIT_CALL(http_env_response)
+       || SUCCESS != PHP_MINIT_CALL(http_params)
        ) {
                return FAILURE;
        }
@@ -177,9 +173,6 @@ PHP_MSHUTDOWN_FUNCTION(http)
        || SUCCESS != PHP_MSHUTDOWN_CALL(http_message)
 #if PHP_HTTP_HAVE_CURL
        || SUCCESS != PHP_MSHUTDOWN_CALL(http_curl)
-#endif
-#if PHP_HTTP_HAVE_NEON
-       || SUCCESS != PHP_MSHUTDOWN_CALL(http_neon)
 #endif
        || SUCCESS != PHP_MSHUTDOWN_CALL(http_request_datashare)
        || SUCCESS != PHP_MSHUTDOWN_CALL(http_request_factory)
@@ -236,21 +229,25 @@ PHP_MINFO_FUNCTION(http)
 #else
        php_info_print_table_row(3, "libcurl", "disabled", "disabled");
 #endif
-#if PHP_HTTP_HAVE_NEON
-       {
-               char ne_v[16] = {0};
-               sscanf(ne_version_string(), "neon %15[^ :]", &ne_v[0]);
-               php_info_print_table_row(3, "libneon", PHP_HTTP_NEON_VERSION, ne_v);
-       }
-#else
-       php_info_print_table_row(3, "libneon", "disabled", "disabled");
-#endif
 
 #if PHP_HTTP_HAVE_EVENT
        php_info_print_table_row(3, "libevent", PHP_HTTP_EVENT_VERSION, event_get_version());
 #else
        php_info_print_table_row(3, "libevent", "disabled", "disabled");
 #endif
+
+#if PHP_HTTP_HAVE_SERF
+       {
+               int v[3];
+               char sl_v[16] = {0};
+
+               serf_lib_version(&v[0], &v[1], &v[2]);
+               slprintf(sl_v, lenof(sl_v), "%d.%d.%d", v[0], v[1], v[2]);
+               php_info_print_table_row(3, "libserf", SERF_VERSION_STRING, sl_v);
+       }
+#else
+       php_info_print_table_row(3, "libserf", "disabled", "disabled");
+#endif
        php_info_print_table_end();
        
        php_info_print_table_start();