X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=php_http.h;h=4bd31d74c03829dec7033abc49f8264a5c0b3b5d;hp=b4c4ab3419d693ceae29cc8b1adb7dd6dd97a407;hb=7ea5445a6250f29f09d6b97db124cacf457f23c5;hpb=14819be2113881e1030d23c6a1a32e17083ab406 diff --git a/php_http.h b/php_http.h index b4c4ab3..4bd31d7 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-2005, Michael Wallner | + | Copyright (c) 2004-2006, Michael Wallner | +--------------------------------------------------------------------+ */ @@ -15,18 +15,38 @@ #ifndef PHP_EXT_HTTP_H #define PHP_EXT_HTTP_H -#define PHP_EXT_HTTP_VERSION "0.21.0dev" +#define PHP_EXT_HTTP_VERSION "1.3.0dev" + +#ifdef HAVE_CONFIG_H +# include "config.h" +#else +# ifndef PHP_WIN32 +# include "php_config.h" +# endif +#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 +# endif +# include "SAPI.h" +#endif #ifdef HTTP_WANT_NETDB # ifdef PHP_WIN32 +# define HTTP_HAVE_NETDB # include # elif defined(HAVE_NETDB_H) +# define HTTP_HAVE_NETDB # include +# ifdef HAVE_UNISTD_H +# include +# endif # endif #endif @@ -36,6 +56,7 @@ # define CURL_STATICLIB # endif # include +# define HTTP_CURL_VERSION(x, y, z) (LIBCURL_VERSION_NUM >= (((x)<<16) + ((y)<<8) + (z))) #endif #if defined(HTTP_WANT_MAGIC) && defined(HTTP_HAVE_MAGIC) @@ -67,6 +88,7 @@ ZEND_BEGIN_MODULE_GLOBALS(http) struct _http_globals_log { char *cache; char *redirect; + char *not_found; char *allowed_methods; char *composite; } log; @@ -77,14 +99,39 @@ ZEND_BEGIN_MODULE_GLOBALS(http) char *content_type; char *unquoted_etag; time_t last_modified; - int gzip_encoding; + struct _http_globals_send_deflate { + zend_bool start_auto; + long start_flags; + int encoding; + void *stream; + } deflate; + struct _http_globals_send_inflate { + zend_bool start_auto; + long start_flags; + void *stream; + } inflate; + zend_bool not_found_404; } send; struct _http_globals_request { + time_t time; struct _http_globals_request_methods { char *allowed; - HashTable custom; + struct _http_globals_request_methods_custom { + char *ini; + int count; + 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 @@ -92,22 +139,39 @@ ZEND_BEGIN_MODULE_GLOBALS(http) #endif zend_bool force_exit; + zend_bool read_post_data; ZEND_END_MODULE_GLOBALS(http) +ZEND_EXTERN_MODULE_GLOBALS(http); + #ifdef ZTS # include "TSRM.h" -# define HTTP_G(v) TSRMG(http_globals_id, zend_http_globals *, v) -# define HTTP_GLOBALS ((zend_http_globals *) (*((void ***) tsrm_ls))[TSRM_UNSHUFFLE_RSRC_ID(http_globals_id)]) +# define HTTP_G ((zend_http_globals *) (*((void ***) tsrm_ls))[TSRM_UNSHUFFLE_RSRC_ID(http_globals_id)]) #else -# define HTTP_G(v) (http_globals.v) -# define HTTP_GLOBALS (&http_globals) +# define HTTP_G (&http_globals) +#endif + +#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 -#define getGlobals(G) zend_http_globals *G = HTTP_GLOBALS; PHP_FUNCTION(http_test); PHP_FUNCTION(http_date); -PHP_FUNCTION(http_build_uri); +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); @@ -128,39 +192,36 @@ 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 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); PHP_FUNCTION(http_request_method_exists); PHP_FUNCTION(http_request_method_name); -#ifndef ZEND_ENGINE_2 -PHP_FUNCTION(http_build_query); -#endif /* ZEND_ENGINE_2 */ PHP_FUNCTION(ob_etaghandler); #ifdef HTTP_HAVE_ZLIB -PHP_FUNCTION(http_gzencode); -PHP_FUNCTION(http_gzdecode); PHP_FUNCTION(http_deflate); PHP_FUNCTION(http_inflate); +PHP_FUNCTION(ob_deflatehandler); +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 */ /*