X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=php_http.h;h=ea2c2559e0262b81f666cb6f131567ac84d53996;hp=731f0adfe94bc749060dbffa06a96117e0a970b9;hb=2d5d8aa343778897c7eedb25464a2cb0a789d748;hpb=5be9a548c1e57fdc0960740ca6580d0023845ed4 diff --git a/php_http.h b/php_http.h index 731f0ad..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,9 +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 { + zend_object zo; + CURL *ch; +} httpi_request_object; + +typedef enum { + HTTP_GET, + HTTP_HEAD, + HTTP_POST, +} http_request_method; + +#endif /* HTTP_HAVE _CURL */ PHP_METHOD(HTTPi, date); PHP_METHOD(HTTPi, absoluteURI); @@ -60,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); @@ -87,6 +110,38 @@ 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, getPostData); +PHP_METHOD(HTTPi_Request, addPostData); +PHP_METHOD(HTTPi_Request, unsetPostData); +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, getResponseHeader); +PHP_METHOD(HTTPi_Request, getResponseCode); +PHP_METHOD(HTTPi_Request, getResponseBody); +PHP_METHOD(HTTPi_Request, getResponseInfo); + +#endif /* HTTP_HAVE_CURL */ + #endif /* ZEND_ENGINE_2 */ @@ -115,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); @@ -137,18 +194,13 @@ ZEND_BEGIN_MODULE_GLOBALS(http) char *allowed_methods; #ifdef HTTP_HAVE_CURL struct { - struct { - char *data; - size_t used; - size_t free; - } body; - struct { - char *data; - size_t used; - size_t free; - } hdrs; + char *data; + size_t used; + size_t free; + size_t size; } curlbuf; -#endif + zend_llist to_free; +#endif /* HTTP_HAVE_CURL */ ZEND_END_MODULE_GLOBALS(http) #endif /* PHP_HTTP_H */