X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=php_http.h;h=c2c8b106dbc94679263865a356d3a1314459714a;hp=187ba2d94792b77119ad41b68846eceb0d47d1d8;hb=694baf9ab90e84d6194aa5fc84757926b17deafc;hpb=0119515f91847a945a149a1bd335f41dc759bfeb diff --git a/php_http.h b/php_http.h index 187ba2d..c2c8b10 100644 --- a/php_http.h +++ b/php_http.h @@ -18,15 +18,39 @@ #ifndef PHP_EXT_HTTP_H #define PHP_EXT_HTTP_H -#define PHP_EXT_HTTP_VERSION "0.5.0-dev" +#define HTTP_PEXT_VERSION "0.8.0-dev" /* make compile on Win32 */ -#include "php_streams.h" +#ifdef HTTP_HAVE_CURL +# ifdef PHP_WIN32 +# include +# endif +# include +#endif #include "ext/standard/md5.h" +#include "phpstr/phpstr.h" extern zend_module_entry http_module_entry; #define phpext_http_ptr &http_module_entry +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; + char *cache_log; + +#ifdef HTTP_HAVE_CURL +# if LIBCURL_VERSION_NUM < 0x070c00 + char curlerr[CURL_ERROR_SIZE + 1]; +# endif + zend_llist to_free; +#endif /* HTTP_HAVE_CURL */ +ZEND_END_MODULE_GLOBALS(http) + #ifdef ZTS # include "TSRM.h" # define HTTP_G(v) TSRMG(http_globals_id, zend_http_globals *, v) @@ -34,110 +58,7 @@ extern zend_module_entry http_module_entry; # define HTTP_G(v) (http_globals.v) #endif -#ifndef ZEND_ENGINE_2 -# include "php_http_build_query.h" -#else - -#ifdef HTTP_HAVE_CURL -typedef struct { - struct { - char *data; - size_t used; - size_t free; - } body; - struct { - char *data; - size_t used; - size_t free; - } hdrs; -} http_curlbuf; - -typedef enum { - HTTP_GET, - HTTP_HEAD, - HTTP_POST, -} http_request_method; -#endif - -PHP_METHOD(HTTPi, date); -PHP_METHOD(HTTPi, absoluteURI); -PHP_METHOD(HTTPi, negotiateLanguage); -PHP_METHOD(HTTPi, negotiateCharset); -PHP_METHOD(HTTPi, redirect); -PHP_METHOD(HTTPi, sendStatus); -PHP_METHOD(HTTPi, sendLastModified); -PHP_METHOD(HTTPi, sendContentType); -PHP_METHOD(HTTPi, sendContentDisposition); -PHP_METHOD(HTTPi, matchModified); -PHP_METHOD(HTTPi, matchEtag); -PHP_METHOD(HTTPi, cacheLastModified); -PHP_METHOD(HTTPi, cacheEtag); -PHP_METHOD(HTTPi, chunkedDecode); -PHP_METHOD(HTTPi, splitResponse); -PHP_METHOD(HTTPi, parseHeaders); -PHP_METHOD(HTTPi, getRequestHeaders); -#ifdef HTTP_HAVE_CURL -PHP_METHOD(HTTPi, get); -PHP_METHOD(HTTPi, head); -PHP_METHOD(HTTPi, postData); -PHP_METHOD(HTTPi, postArray); -#endif -PHP_METHOD(HTTPi, authBasic); -PHP_METHOD(HTTPi, authBasicCallback); - - -PHP_METHOD(HTTPi_Response, __construct);/* -PHP_METHOD(HTTPi_Response, __destruct);*/ -PHP_METHOD(HTTPi_Response, setETag); -PHP_METHOD(HTTPi_Response, getETag); -PHP_METHOD(HTTPi_Response, setContentDisposition); -PHP_METHOD(HTTPi_Response, getContentDisposition); -PHP_METHOD(HTTPi_Response, setContentType); -PHP_METHOD(HTTPi_Response, getContentType); -PHP_METHOD(HTTPi_Response, setCache); -PHP_METHOD(HTTPi_Response, getCache); -PHP_METHOD(HTTPi_Response, setCacheControl); -PHP_METHOD(HTTPi_Response, getCacheControl); -PHP_METHOD(HTTPi_Response, setGzip); -PHP_METHOD(HTTPi_Response, getGzip); -PHP_METHOD(HTTPi_Response, setData); -PHP_METHOD(HTTPi_Response, getData); -PHP_METHOD(HTTPi_Response, setFile); -PHP_METHOD(HTTPi_Response, getFile); -PHP_METHOD(HTTPi_Response, setStream); -PHP_METHOD(HTTPi_Response, getStream); -PHP_METHOD(HTTPi_Response, send); - -#ifdef HTTP_HAVE_CURL - -PHP_METHOD(HTTPi_Request, __construct);/* -PHP_METHOD(HTTPi_Request, __destruct); -PHP_METHOD(HTTPi_Request, setOptions); -PHP_METHOD(HTTPi_Request, getOptions);*/ -PHP_METHOD(HTTPi_Request, setMethod); -PHP_METHOD(HTTPi_Request, getMethod); -PHP_METHOD(HTTPi_Request, setURL); -PHP_METHOD(HTTPi_Request, getURL); -PHP_METHOD(HTTPi_Request, setContentType); -PHP_METHOD(HTTPi_Request, getContentType); -PHP_METHOD(HTTPi_Request, setQueryData); -PHP_METHOD(HTTPi_Request, getQueryData); -PHP_METHOD(HTTPi_Request, addQueryData); -PHP_METHOD(HTTPi_Request, unsetQueryData);/* -PHP_METHOD(HTTPi_Request, setPostData); -PHP_METHOD(HTTPi_Request, addPostData); -PHP_METHOD(HTTPi_Request, unsetPostData); -PHP_METHOD(HTTPi_Request, addPostFile);*/ -PHP_METHOD(HTTPi_Request, send); -PHP_METHOD(HTTPi_Request, getResponseData); -PHP_METHOD(HTTPi_Request, getResponseHeaders); -PHP_METHOD(HTTPi_Request, getResponseBody); - -#endif /* HTTP_HAVE_CURL */ - -#endif /* ZEND_ENGINE_2 */ - - +PHP_FUNCTION(http_test); PHP_FUNCTION(http_date); PHP_FUNCTION(http_absolute_uri); PHP_FUNCTION(http_negotiate_language); @@ -163,11 +84,13 @@ PHP_FUNCTION(http_get); PHP_FUNCTION(http_head); PHP_FUNCTION(http_post_data); PHP_FUNCTION(http_post_array); -#endif +#endif /* HTTP_HAVE_CURL */ PHP_FUNCTION(http_auth_basic); PHP_FUNCTION(http_auth_basic_cb); - -PHP_FUNCTION(ob_httpetaghandler); +#ifndef ZEND_ENGINE_2 +PHP_FUNCTION(http_build_query); +#endif /* ZEND_ENGINE_2 */ +PHP_FUNCTION(ob_etaghandler); PHP_MINIT_FUNCTION(http); PHP_MSHUTDOWN_FUNCTION(http); @@ -175,19 +98,6 @@ PHP_RINIT_FUNCTION(http); PHP_RSHUTDOWN_FUNCTION(http); PHP_MINFO_FUNCTION(http); -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; -#ifdef HTTP_HAVE_CURL - http_curlbuf curlbuf; -#endif -ZEND_END_MODULE_GLOBALS(http) - #endif /* PHP_HTTP_H */ /*