X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=php_http.h;h=1234f9ba273418c9c5c1ecd699bf4c7ecb464e2c;hp=187ba2d94792b77119ad41b68846eceb0d47d1d8;hb=9bfaa02649e367ae3a7fdd89069034f6fc8602e7;hpb=0119515f91847a945a149a1bd335f41dc759bfeb diff --git a/php_http.h b/php_http.h index 187ba2d..1234f9b 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,28 @@ 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 + +#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 +79,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,10 +108,10 @@ PHP_METHOD(HTTPi_Response, send); #ifdef HTTP_HAVE_CURL -PHP_METHOD(HTTPi_Request, __construct);/* +PHP_METHOD(HTTPi_Request, __construct); PHP_METHOD(HTTPi_Request, __destruct); PHP_METHOD(HTTPi_Request, setOptions); -PHP_METHOD(HTTPi_Request, getOptions);*/ +PHP_METHOD(HTTPi_Request, getOptions); PHP_METHOD(HTTPi_Request, setMethod); PHP_METHOD(HTTPi_Request, getMethod); PHP_METHOD(HTTPi_Request, setURL); @@ -123,15 +121,20 @@ 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); #endif /* HTTP_HAVE_CURL */ @@ -163,10 +166,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); @@ -184,8 +189,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 */