X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=php_http.h;h=467507eea514a90c153dd0ef626d74efb9915e1d;hp=ca291374e2759e04f6efbc41a80fa53f5b2529dc;hb=74c406d2e8a73540d9df9b888a17c86b0bb7fc2c;hpb=4a881fb37338bfeacd40c42a97f334c9faed299a diff --git a/php_http.h b/php_http.h index ca29137..467507e 100644 --- a/php_http.h +++ b/php_http.h @@ -18,7 +18,7 @@ #ifndef PHP_EXT_HTTP_H #define PHP_EXT_HTTP_H -#define HTTP_PEXT_VERSION "0.8.0-dev" +#define HTTP_PEXT_VERSION "0.8.0" /* make compile on Win32 */ #ifdef HTTP_HAVE_CURL @@ -33,29 +33,54 @@ extern zend_module_entry http_module_entry; #define phpext_http_ptr &http_module_entry +extern int http_module_number; + ZEND_BEGIN_MODULE_GLOBALS(http) - zend_bool etag_started; - PHP_MD5_CTX etag_md5; - php_stream_statbuf ssb; - char *ctype; - char *etag; - time_t lmod; - char *allowed_methods; + + struct _http_globals_etag { + zend_bool started; + PHP_MD5_CTX md5ctx; + } etag; + + struct _http_globals_log { + char *cache; + } log; + + struct _http_globals_send { + double throttle_delay; + size_t buffer_size; + char *content_type; + char *unquoted_etag; + time_t last_modified; + } send; + + struct _http_globals_request { + struct _http_globals_request_methods { + char *allowed; + HashTable custom; + } methods; + #ifdef HTTP_HAVE_CURL - phpstr curlbuf; + struct _http_globals_request_curl { + zend_llist copies; # if LIBCURL_VERSION_NUM < 0x070c00 - char curlerr[CURL_ERROR_SIZE + 1]; + char error[CURL_ERROR_SIZE + 1]; # endif - zend_llist to_free; + } curl; #endif /* HTTP_HAVE_CURL */ + } request; + ZEND_END_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)]) #else # define HTTP_G(v) (http_globals.v) +# define HTTP_GLOBALS http_globals #endif +#define getGlobals(G) zend_http_globals *G = HTTP_GLOBALS; PHP_FUNCTION(http_test); PHP_FUNCTION(http_date); @@ -63,6 +88,7 @@ PHP_FUNCTION(http_absolute_uri); PHP_FUNCTION(http_negotiate_language); PHP_FUNCTION(http_negotiate_charset); PHP_FUNCTION(http_redirect); +PHP_FUNCTION(http_throttle); PHP_FUNCTION(http_send_status); PHP_FUNCTION(http_send_last_modified); PHP_FUNCTION(http_send_content_type); @@ -78,18 +104,26 @@ PHP_FUNCTION(http_chunked_decode); PHP_FUNCTION(http_split_response); PHP_FUNCTION(http_parse_headers); PHP_FUNCTION(http_get_request_headers); +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_array); +PHP_FUNCTION(http_post_fields); +PHP_FUNCTION(http_put_file); +PHP_FUNCTION(http_put_stream); +/*PHP_FUNCTION(http_request)*/ +PHP_FUNCTION(http_request_method_register); +PHP_FUNCTION(http_request_method_unregister); +PHP_FUNCTION(http_request_method_exists); +PHP_FUNCTION(http_request_method_name); #endif /* HTTP_HAVE_CURL */ PHP_FUNCTION(http_auth_basic); PHP_FUNCTION(http_auth_basic_cb); #ifndef ZEND_ENGINE_2 PHP_FUNCTION(http_build_query); #endif /* ZEND_ENGINE_2 */ -PHP_FUNCTION(ob_httpetaghandler); +PHP_FUNCTION(ob_etaghandler); PHP_MINIT_FUNCTION(http); PHP_MSHUTDOWN_FUNCTION(http);