X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=php_http.h;h=a3d6bd85688a4ab00bef18622ed670921308db4e;hp=ea3cb3c76b5a231760fa6b44e3505558df63421e;hb=001d038560e304bef20f3b3cea063653a45e3a61;hpb=fb5d0ef47f1f54dad0efa1f091324e3d7d18050b diff --git a/php_http.h b/php_http.h index ea3cb3c..a3d6bd8 100644 --- a/php_http.h +++ b/php_http.h @@ -15,7 +15,7 @@ #ifndef PHP_EXT_HTTP_H #define PHP_EXT_HTTP_H -#define PHP_EXT_HTTP_VERSION "1.0.0-dev" +#define PHP_EXT_HTTP_VERSION "1.5.0dev" #ifdef HAVE_CONFIG_H # include "config.h" @@ -26,14 +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 -# else # endif # include "SAPI.h" #endif @@ -72,6 +71,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 @@ -101,6 +102,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; @@ -116,6 +118,7 @@ ZEND_BEGIN_MODULE_GLOBALS(http) struct _http_globals_request { time_t time; + HashTable *headers; struct _http_globals_request_methods { char *allowed; struct _http_globals_request_methods_custom { @@ -124,6 +127,15 @@ ZEND_BEGIN_MODULE_GLOBALS(http) void *entries; } 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 } request; #ifdef ZEND_ENGINE_2 @@ -132,6 +144,7 @@ ZEND_BEGIN_MODULE_GLOBALS(http) zend_bool force_exit; zend_bool read_post_data; + zval *server_var; ZEND_END_MODULE_GLOBALS(http) @@ -144,9 +157,22 @@ ZEND_EXTERN_MODULE_GLOBALS(http); # define HTTP_G (&http_globals) #endif -#define HTTP_HAVE_EXT(EXT) ((defined(HAVE_##EXT) || defined(HAVE_PHP_##EXT) || defined(HAVE_##EXT##_EXT)) && (HTTP_SHARED_DEPS || !defined(COMPILE_DL_##EXT))) +#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_test); PHP_FUNCTION(http_date); PHP_FUNCTION(http_build_url); PHP_FUNCTION(http_build_str); @@ -170,12 +196,17 @@ 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); #ifdef HTTP_HAVE_CURL +# ifdef HTTP_HAVE_PERSISTENT_HANDLES +PHP_FUNCTION(http_persistent_handles_count); +PHP_FUNCTION(http_persistent_handles_clean); +# endif PHP_FUNCTION(http_get); PHP_FUNCTION(http_head); PHP_FUNCTION(http_post_data); @@ -184,9 +215,7 @@ PHP_FUNCTION(http_put_data); PHP_FUNCTION(http_put_file); PHP_FUNCTION(http_put_stream); PHP_FUNCTION(http_request); -#ifdef HAVE_CURL_GETFORMDATA PHP_FUNCTION(http_request_body_encode); -#endif /* HAVE_CURL_GETFORMDATA */ #endif /* HTTP_HAVE_CURL */ PHP_FUNCTION(http_request_method_register); PHP_FUNCTION(http_request_method_unregister);