X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=php_http.h;h=e4a0f85d8fd7cfe82cd81b4a6cd186d88fa8e51c;hp=7302098ea1fa4a02308255c30ba11c6ca1ae1eed;hb=refs%2Fheads%2Fv1.7.x;hpb=1382fe5a3ed5209ab05745ca95495885e85ff2a0 diff --git a/php_http.h b/php_http.h index 7302098..e4a0f85 100644 --- a/php_http.h +++ b/php_http.h @@ -6,7 +6,7 @@ | modification, are permitted provided that the conditions mentioned | | in the accompanying LICENSE file are met. | +--------------------------------------------------------------------+ - | Copyright (c) 2004-2006, Michael Wallner | + | Copyright (c) 2004-2010, Michael Wallner | +--------------------------------------------------------------------+ */ @@ -15,7 +15,7 @@ #ifndef PHP_EXT_HTTP_H #define PHP_EXT_HTTP_H -#define PHP_EXT_HTTP_VERSION "0.23.0dev" +#define PHP_HTTP_VERSION "1.7.6" #ifdef HAVE_CONFIG_H # include "config.h" @@ -26,16 +26,13 @@ #endif #include "php.h" +#include "missing.h" #include "php_http_std_defs.h" #include "phpstr/phpstr.h" -#include "missing.h" #ifdef HTTP_WANT_SAPI # if PHP_API_VERSION > 20041225 # define HTTP_HAVE_SAPI_RTIME -# define HTTP_GET_REQUEST_TIME() sapi_get_request_time(TSRMLS_C) -# else -# define HTTP_GET_REQUEST_TIME() HTTP_G->request_time # endif # include "SAPI.h" #endif @@ -59,6 +56,11 @@ # define CURL_STATICLIB # endif # include +# define HTTP_CURL_VERSION(x, y, z) (LIBCURL_VERSION_NUM >= (((x)<<16) + ((y)<<8) + (z))) +# +# if defined(HTTP_WANT_EVENT) && defined(HTTP_HAVE_EVENT) +# include +# endif #endif #if defined(HTTP_WANT_MAGIC) && defined(HTTP_HAVE_MAGIC) @@ -73,6 +75,8 @@ #endif #include +#define HTTP_IS_CTYPE(type, c) is##type((int) (unsigned char) (c)) +#define HTTP_TO_CTYPE(type, c) to##type((int) (unsigned char) (c)) extern zend_module_entry http_module_entry; #define phpext_http_ptr &http_module_entry @@ -90,6 +94,7 @@ ZEND_BEGIN_MODULE_GLOBALS(http) struct _http_globals_log { char *cache; char *redirect; + char *not_found; char *allowed_methods; char *composite; } log; @@ -101,6 +106,7 @@ ZEND_BEGIN_MODULE_GLOBALS(http) char *unquoted_etag; time_t last_modified; struct _http_globals_send_deflate { + zend_bool response; zend_bool start_auto; long start_flags; int encoding; @@ -111,27 +117,53 @@ ZEND_BEGIN_MODULE_GLOBALS(http) long start_flags; void *stream; } inflate; + zend_bool not_found_404; } send; struct _http_globals_request { + time_t time; + HashTable *headers; struct _http_globals_request_methods { + HashTable registered; char *allowed; - struct _http_globals_request_methods_custom { - int count; - void *entries; - } custom; + char *custom; } methods; +#if defined(ZEND_ENGINE_2) && defined(HTTP_HAVE_CURL) + struct _http_globals_request_datashare { + zend_llist handles; + zend_bool cookie; + zend_bool dns; + zend_bool ssl; + zend_bool connect; + } datashare; +#endif +#if defined(ZEND_ENGINE_2) && defined(HTTP_HAVE_EVENT) + struct _http_globals_request_pool { + struct _http_globals_request_pool_event { + void *base; + } event; + } pool; +#endif } request; -#ifndef HTTP_HAVE_SAPI_RTIME - time_t request_time; -#endif + struct _http_globals_persistent { + struct _http_globals_persistent_handles { + ulong limit; + struct _http_globals_persistent_handles_ident { + ulong h; + char *s; + size_t l; + } ident; + } handles; + } persistent; + #ifdef ZEND_ENGINE_2 zend_bool only_exceptions; #endif zend_bool force_exit; zend_bool read_post_data; + zval *server_var; ZEND_END_MODULE_GLOBALS(http) @@ -144,13 +176,29 @@ ZEND_EXTERN_MODULE_GLOBALS(http); # define HTTP_G (&http_globals) #endif -PHP_FUNCTION(http_test); +#if defined(HAVE_ICONV) && (HTTP_SHARED_DEPS || !defined(COMPILE_DL_ICONV)) +# define HTTP_HAVE_ICONV +#endif + +#if defined(HAVE_PHP_SESSION) && (HTTP_SHARED_DEPS || !defined(COMPILE_DL_SESSION)) +# define HTTP_HAVE_SESSION +#endif + +#if defined(HAVE_HASH_EXT) && (HTTP_SHARED_DEPS || !defined(COMPILE_DL_HASH)) && defined(HTTP_HAVE_PHP_HASH_H) +# define HTTP_HAVE_HASH +#endif + +#if defined(HAVE_SPL) +# define HTTP_HAVE_SPL +#endif + PHP_FUNCTION(http_date); PHP_FUNCTION(http_build_url); PHP_FUNCTION(http_build_str); PHP_FUNCTION(http_negotiate_language); PHP_FUNCTION(http_negotiate_charset); PHP_FUNCTION(http_negotiate_content_type); +PHP_FUNCTION(http_negotiate); PHP_FUNCTION(http_redirect); PHP_FUNCTION(http_throttle); PHP_FUNCTION(http_send_status); @@ -168,17 +216,25 @@ PHP_FUNCTION(http_chunked_decode); PHP_FUNCTION(http_parse_message); PHP_FUNCTION(http_parse_headers); PHP_FUNCTION(http_parse_cookie); +PHP_FUNCTION(http_build_cookie); +PHP_FUNCTION(http_parse_params); PHP_FUNCTION(http_get_request_headers); PHP_FUNCTION(http_get_request_body); PHP_FUNCTION(http_get_request_body_stream); PHP_FUNCTION(http_match_request_header); +PHP_FUNCTION(http_persistent_handles_count); +PHP_FUNCTION(http_persistent_handles_clean); +PHP_FUNCTION(http_persistent_handles_ident); #ifdef HTTP_HAVE_CURL PHP_FUNCTION(http_get); PHP_FUNCTION(http_head); PHP_FUNCTION(http_post_data); PHP_FUNCTION(http_post_fields); +PHP_FUNCTION(http_put_data); PHP_FUNCTION(http_put_file); PHP_FUNCTION(http_put_stream); +PHP_FUNCTION(http_request); +PHP_FUNCTION(http_request_body_encode); #endif /* HTTP_HAVE_CURL */ PHP_FUNCTION(http_request_method_register); PHP_FUNCTION(http_request_method_unregister); @@ -193,12 +249,6 @@ PHP_FUNCTION(ob_inflatehandler); #endif PHP_FUNCTION(http_support); -PHP_MINIT_FUNCTION(http); -PHP_MSHUTDOWN_FUNCTION(http); -PHP_RINIT_FUNCTION(http); -PHP_RSHUTDOWN_FUNCTION(http); -PHP_MINFO_FUNCTION(http); - #endif /* PHP_HTTP_H */ /*