X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=php_http.h;h=3a46a7216d9c112a15f3fa30bebbbdf4d87d9b69;hp=43b5fad697e9e95e4a0428bc7dec068e8e75a3f5;hb=a19a05825d04d634834f7898ec1a5247fdd6095c;hpb=93afd698bffcab48575657ce27d05a8a8319f511 diff --git a/php_http.h b/php_http.h index 43b5fad..3a46a72 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.6.0-dev" /* make compile on Win32 */ #include "php_streams.h" @@ -38,6 +38,27 @@ extern zend_module_entry http_module_entry; # include "php_http_build_query.h" #else +typedef struct { + zend_object zo; +} httpi_response_object; + +#ifdef HTTP_HAVE_CURL + +#include + +typedef struct { + zend_object zo; + CURL *ch; +} httpi_request_object; + +typedef enum { + HTTP_GET, + HTTP_HEAD, + HTTP_POST, +} http_request_method; + +#endif + PHP_METHOD(HTTPi, date); PHP_METHOD(HTTPi, absoluteURI); PHP_METHOD(HTTPi, negotiateLanguage); @@ -45,6 +66,8 @@ 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); @@ -84,7 +107,37 @@ PHP_METHOD(HTTPi_Response, getFile); PHP_METHOD(HTTPi_Response, setStream); PHP_METHOD(HTTPi_Response, getStream); PHP_METHOD(HTTPi_Response, send); -PHP_METHOD(HTTPi_Response, getSize); + +#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, getResponseHeaders); +PHP_METHOD(HTTPi_Request, getResponseBody); +PHP_METHOD(HTTPi_Request, getResponseInfo); + +#endif /* HTTP_HAVE_CURL */ #endif /* ZEND_ENGINE_2 */ @@ -96,12 +149,12 @@ PHP_FUNCTION(http_negotiate_charset); PHP_FUNCTION(http_redirect); PHP_FUNCTION(http_send_status); PHP_FUNCTION(http_send_last_modified); +PHP_FUNCTION(http_send_content_type); +PHP_FUNCTION(http_send_content_disposition); PHP_FUNCTION(http_match_modified); PHP_FUNCTION(http_match_etag); PHP_FUNCTION(http_cache_last_modified); PHP_FUNCTION(http_cache_etag); -PHP_FUNCTION(http_content_type); -PHP_FUNCTION(http_content_disposition); PHP_FUNCTION(http_send_data); PHP_FUNCTION(http_send_file); PHP_FUNCTION(http_send_stream); @@ -136,16 +189,10 @@ 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_END_MODULE_GLOBALS(http)