X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=php_http.h;h=ea2c2559e0262b81f666cb6f131567ac84d53996;hp=6251c98f6aad1c4189cbafc9d8f84c297050ee26;hb=2d5d8aa343778897c7eedb25464a2cb0a789d748;hpb=51f68d1c8028144d2db1e415fdf14afb1442649e diff --git a/php_http.h b/php_http.h index 6251c98..ea2c255 100644 --- a/php_http.h +++ b/php_http.h @@ -18,7 +18,7 @@ #ifndef PHP_EXT_HTTP_H #define PHP_EXT_HTTP_H -#define PHP_EXT_HTTP_VERSION "0.5.0-dev" +#define PHP_EXT_HTTP_VERSION "0.7.0-dev" /* make compile on Win32 */ #include "php_streams.h" @@ -34,30 +34,32 @@ 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 ZEND_ENGINE_2 + +typedef struct { + zend_object zo; +} httpi_response_object; #ifdef HTTP_HAVE_CURL + +#ifdef PHP_WIN32 +# include +#endif + +#include + typedef struct { - struct { - char *data; - size_t used; - size_t free; - } body; - struct { - char *data; - size_t used; - size_t free; - } hdrs; -} http_curlbuf; + zend_object zo; + CURL *ch; +} httpi_request_object; typedef enum { HTTP_GET, HTTP_HEAD, HTTP_POST, } http_request_method; -#endif + +#endif /* HTTP_HAVE _CURL */ PHP_METHOD(HTTPi, date); PHP_METHOD(HTTPi, absoluteURI); @@ -81,7 +83,7 @@ PHP_METHOD(HTTPi, get); PHP_METHOD(HTTPi, head); PHP_METHOD(HTTPi, postData); PHP_METHOD(HTTPi, postArray); -#endif +#endif /* HTTP_HAVE_CURL */ PHP_METHOD(HTTPi, authBasic); PHP_METHOD(HTTPi, authBasicCallback); @@ -110,8 +112,8 @@ PHP_METHOD(HTTPi_Response, send); #ifdef HTTP_HAVE_CURL -PHP_METHOD(HTTPi_Request, __construct);/* -PHP_METHOD(HTTPi_Request, __destruct);*/ +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); @@ -123,14 +125,18 @@ 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, unsetQueryData); PHP_METHOD(HTTPi_Request, setPostData); +PHP_METHOD(HTTPi_Request, getPostData); PHP_METHOD(HTTPi_Request, addPostData); PHP_METHOD(HTTPi_Request, unsetPostData); -PHP_METHOD(HTTPi_Request, addPostFile);*/ +PHP_METHOD(HTTPi_Request, addPostFile); +PHP_METHOD(HTTPi_Request, getPostFiles); +PHP_METHOD(HTTPi_Request, unsetPostFiles); PHP_METHOD(HTTPi_Request, send); PHP_METHOD(HTTPi_Request, getResponseData); -PHP_METHOD(HTTPi_Request, getResponseHeaders); +PHP_METHOD(HTTPi_Request, getResponseHeader); +PHP_METHOD(HTTPi_Request, getResponseCode); PHP_METHOD(HTTPi_Request, getResponseBody); PHP_METHOD(HTTPi_Request, getResponseInfo); @@ -164,10 +170,12 @@ 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); - +#ifndef ZEND_ENGINE_2 +PHP_FUNCTION(http_build_query); +#endif /* ZEND_ENGINE_2 */ PHP_FUNCTION(ob_httpetaghandler); PHP_MINIT_FUNCTION(http); @@ -185,8 +193,14 @@ ZEND_BEGIN_MODULE_GLOBALS(http) time_t lmod; char *allowed_methods; #ifdef HTTP_HAVE_CURL - http_curlbuf curlbuf; -#endif + struct { + char *data; + size_t used; + size_t free; + size_t size; + } curlbuf; + zend_llist to_free; +#endif /* HTTP_HAVE_CURL */ ZEND_END_MODULE_GLOBALS(http) #endif /* PHP_HTTP_H */