- solve that another way
[m6w6/ext-http] / http.c
diff --git a/http.c b/http.c
index 26ab4d3bb0981924860f060dcde9521f19f9451c..bbbb03aa99b20d95bbf32791b357f417c896f6ac 100644 (file)
--- a/http.c
+++ b/http.c
 
 /* $Id$ */
 
-#ifdef HAVE_CONFIG_H
-#      include "config.h"
-#endif
-
+#define HTTP_WANT_SAPI
 #define HTTP_WANT_CURL
 #define HTTP_WANT_ZLIB
 #define HTTP_WANT_MAGIC
 #include "php_http.h"
 
-#include "SAPI.h"
 #include "php_ini.h"
 #include "ext/standard/info.h"
 #include "zend_extensions.h"
@@ -43,6 +39,7 @@
 #      include "php_http_filter_api.h"
 #      include "php_http_util_object.h"
 #      include "php_http_message_object.h"
+#      include "php_http_querystring_object.h"
 #      ifndef WONKY
 #              include "php_http_response_object.h"
 #      endif
@@ -69,7 +66,11 @@ ZEND_GET_MODULE(http)
 zend_function_entry http_functions[] = {
        PHP_FE(http_test, NULL)
        PHP_FE(http_date, NULL)
-       PHP_FE(http_build_url, http_arg_pass_ref_3)
+       PHP_FE(http_build_url, http_arg_pass_ref_4)
+       PHP_FE(http_build_str, NULL)
+#ifndef ZEND_ENGINE_2
+       PHP_FALIAS(http_build_query, http_build_str)
+#endif
        PHP_FE(http_negotiate_language, http_arg_pass_ref_2)
        PHP_FE(http_negotiate_charset, http_arg_pass_ref_2)
        PHP_FE(http_negotiate_content_type, http_arg_pass_ref_2)
@@ -106,9 +107,6 @@ zend_function_entry http_functions[] = {
        PHP_FE(http_request_method_unregister, NULL)
        PHP_FE(http_request_method_exists, NULL)
        PHP_FE(http_request_method_name, NULL)
-#ifndef ZEND_ENGINE_2
-       PHP_FE(http_build_query, NULL)
-#endif
        PHP_FE(ob_etaghandler, NULL)
 #ifdef HTTP_HAVE_ZLIB
        PHP_FE(http_deflate, NULL)
@@ -171,6 +169,10 @@ static void http_globals_init_once(zend_http_globals *G)
 static inline void _http_globals_init(zend_http_globals *G TSRMLS_DC)
 {
        G->send.buffer_size = HTTP_SENDBUF_SIZE;
+#ifndef HTTP_HAVE_SAPI_RTIME
+       G->request_time = time(NULL);
+#endif
+       G->read_post_data = 0;
 }
 
 #define http_globals_free(g) _http_globals_free((g) TSRMLS_CC)
@@ -237,6 +239,7 @@ PHP_MINIT_FUNCTION(http)
        
        if (    (SUCCESS != PHP_MINIT_CALL(http_support))       ||
                        (SUCCESS != PHP_MINIT_CALL(http_send))          ||
+                       (SUCCESS != PHP_MINIT_CALL(http_url))           ||
 #ifdef HTTP_HAVE_CURL
                        (SUCCESS != PHP_MINIT_CALL(http_request))       ||
 #endif /* HTTP_HAVE_CURL */
@@ -251,6 +254,7 @@ PHP_MINIT_FUNCTION(http)
        if (    (SUCCESS != PHP_MINIT_CALL(http_filter))                        ||
                        (SUCCESS != PHP_MINIT_CALL(http_util_object))           ||
                        (SUCCESS != PHP_MINIT_CALL(http_message_object))        ||
+                       (SUCCESS != PHP_MINIT_CALL(http_querystring_object))||
 #      ifndef WONKY
                        (SUCCESS != PHP_MINIT_CALL(http_response_object))       ||
 #      endif /* WONKY */
@@ -285,13 +289,13 @@ PHP_MSHUTDOWN_FUNCTION(http)
 /* {{{ PHP_RINIT_FUNCTION */
 PHP_RINIT_FUNCTION(http)
 {
+       http_globals_init(HTTP_GLOBALS);
+
        if (HTTP_G(request).methods.allowed) {
                http_check_allowed_methods(HTTP_G(request).methods.allowed, 
                        strlen(HTTP_G(request).methods.allowed));
        }
 
-       http_globals_init(HTTP_GLOBALS);
-
        if (    (SUCCESS != PHP_RINIT_CALL(http_request_method))
 #ifdef HTTP_HAVE_ZLIB  
                ||      (SUCCESS != PHP_RINIT_CALL(http_encoding))