- add flag parameter to http_build_url(); slightly breaks parameter order
[m6w6/ext-http] / http_response_object.c
index 544b60337198fd4841852d8b24e75caa9463d497..73aa0d86535a47c7181018fe004a789b72584453 100644 (file)
@@ -6,43 +6,27 @@
     | modification, are permitted provided that the conditions mentioned |
     | in the accompanying LICENSE file are met.                          |
     +--------------------------------------------------------------------+
-    | Copyright (c) 2004-2005, Michael Wallner <mike@php.net>            |
+    | Copyright (c) 2004-2006, Michael Wallner <mike@php.net>            |
     +--------------------------------------------------------------------+
 */
 
 /* $Id$ */
 
-
-#ifdef HAVE_CONFIG_H
-#      include "config.h"
-#endif
-#include "php.h"
-
-#include "missing.h"
+#define HTTP_WANT_SAPI
+#define HTTP_WANT_MAGIC
+#include "php_http.h"
 
 /* broken static properties in PHP 5.0 */
 #if defined(ZEND_ENGINE_2) && !defined(WONKY)
 
-#include "SAPI.h"
 #include "php_ini.h"
 
-#include "php_http.h"
 #include "php_http_api.h"
-#include "php_http_std_defs.h"
-#include "php_http_response_object.h"
-#include "php_http_exception_object.h"
-#include "php_http_send_api.h"
 #include "php_http_cache_api.h"
+#include "php_http_exception_object.h"
 #include "php_http_headers_api.h"
-
-#ifdef HTTP_HAVE_MHASH
-#      include <mhash.h>
-#endif
-#ifdef HTTP_HAVE_MAGIC
-#      include <magic.h>
-#endif
-
-ZEND_EXTERN_MODULE_GLOBALS(http);
+#include "php_http_response_object.h"
+#include "php_http_send_api.h"
 
 #define GET_STATIC_PROP(n)                     *GET_STATIC_PROP_EX(http_response_object_ce, n)
 #define UPD_STATIC_PROP(t, n, v)       UPD_STATIC_PROP_EX(http_response_object_ce, t, n, v)
@@ -241,36 +225,10 @@ static inline void _http_response_object_declare_default_properties(TSRMLS_D)
 #ifndef WONKY
        DCL_CONST(long, "REDIRECT", HTTP_REDIRECT);
        DCL_CONST(long, "REDIRECT_PERM", HTTP_REDIRECT_PERM);
+       DCL_CONST(long, "REDIRECT_FOUND", HTTP_REDIRECT_FOUND);
        DCL_CONST(long, "REDIRECT_POST", HTTP_REDIRECT_POST);
+       DCL_CONST(long, "REDIRECT_PROXY", HTTP_REDIRECT_PROXY);
        DCL_CONST(long, "REDIRECT_TEMP", HTTP_REDIRECT_TEMP);
-       
-       DCL_CONST(long, "ETAG_MD5", HTTP_ETAG_MD5);
-       DCL_CONST(long, "ETAG_SHA1", HTTP_ETAG_SHA1);
-       DCL_CONST(long, "ETAG_CRC32", HTTP_ETAG_CRC32);
-       
-#      ifdef HTTP_HAVE_HASH_EXT
-       DCL_CONST(long, "ETAG_SHA256", HTTP_ETAG_SHA256);
-       DCL_CONST(long, "ETAG_SHA384", HTTP_ETAG_SHA384);
-       DCL_CONST(long, "ETAG_SHA512", HTTP_ETAG_SHA512);
-       DCL_CONST(long, "ETAG_RIPEMD128", HTTP_ETAG_RIPEMD128);
-       DCL_CONST(long, "ETAG_RIPEMD160", HTTP_ETAG_RIPEMD160);
-#      endif
-
-#      ifdef HTTP_HAVE_MHASH
-       {
-               int l, i, c = mhash_count();
-               
-               for (i = 0; i <= c; ++i) {
-                       char const_name[256] = {0};
-                       const char *hash_name = mhash_get_hash_name_static(i);
-                       
-                       if (hash_name) {
-                               l = snprintf(const_name, 255, "ETAG_MHASH_%s", hash_name);
-                               zend_declare_class_constant_long(ce, const_name, l, i TSRMLS_CC);
-                       }
-               }
-       }
-#      endif /* HTTP_HAVE_MHASH */
 #endif /* WONKY */
 }
 
@@ -1141,7 +1099,7 @@ PHP_METHOD(HttpResponse, send)
                cctl = convert_to_type_ex(IS_STRING, GET_STATIC_PROP(cacheControl), &cctl_p);
 
                http_cache_etag(Z_STRVAL_P(etag), Z_STRLEN_P(etag), Z_STRVAL_P(cctl), Z_STRLEN_P(cctl));
-               http_cache_last_modified(Z_LVAL_P(lmod), Z_LVAL_P(lmod) ? Z_LVAL_P(lmod) : time(NULL), Z_STRVAL_P(cctl), Z_STRLEN_P(cctl));
+               http_cache_last_modified(Z_LVAL_P(lmod), Z_LVAL_P(lmod) ? Z_LVAL_P(lmod) : HTTP_GET_REQUEST_TIME(), Z_STRVAL_P(cctl), Z_STRLEN_P(cctl));
 
                if (etag_p) zval_ptr_dtor(&etag_p);
                if (lmod_p) zval_ptr_dtor(&lmod_p);
@@ -1194,7 +1152,7 @@ PHP_METHOD(HttpResponse, send)
        }
 
        /* gzip */
-       HTTP_G(send).gzip_encoding = zval_is_true(GET_STATIC_PROP(gzip));
+       HTTP_G(send).deflate.encoding = zval_is_true(GET_STATIC_PROP(gzip));
        
        /* start ob */
        php_start_ob_buffer(NULL, HTTP_G(send).buffer_size, 0 TSRMLS_CC);