X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=php_http.h;h=ca291374e2759e04f6efbc41a80fa53f5b2529dc;hp=3a53a5875495b7c24258f1fba84ed86e716aa521;hb=47c525716db7a03c84af5efc9953db3634084263;hpb=043ec07245d44b166d34bb3e391add5d5dbd3720 diff --git a/php_http.h b/php_http.h index 3a53a58..ca29137 100644 --- a/php_http.h +++ b/php_http.h @@ -18,16 +18,38 @@ #ifndef PHP_EXT_HTTP_H #define PHP_EXT_HTTP_H -#define HTTP_PEXT_VERSION "0.7.0" +#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; +#ifdef HTTP_HAVE_CURL + phpstr curlbuf; +# 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) @@ -35,127 +57,6 @@ extern zend_module_entry http_module_entry; # define HTTP_G(v) (http_globals.v) #endif -#ifdef ZEND_ENGINE_2 - -typedef struct { - zend_object zo; -} http_response_object; - -#ifdef HTTP_HAVE_CURL - -#ifdef PHP_WIN32 -# include -#endif - -#include - -typedef struct { - zend_object zo; - CURL *ch; -} http_request_object; - -typedef enum { - HTTP_GET = 1, - HTTP_HEAD, - HTTP_POST, -} http_request_method; - -#endif /* HTTP_HAVE _CURL */ - -PHP_METHOD(HttpUtil, date); -PHP_METHOD(HttpUtil, absoluteURI); -PHP_METHOD(HttpUtil, negotiateLanguage); -PHP_METHOD(HttpUtil, negotiateCharset); -PHP_METHOD(HttpUtil, redirect); -PHP_METHOD(HttpUtil, sendStatus); -PHP_METHOD(HttpUtil, sendLastModified); -PHP_METHOD(HttpUtil, sendContentType); -PHP_METHOD(HttpUtil, sendContentDisposition); -PHP_METHOD(HttpUtil, matchModified); -PHP_METHOD(HttpUtil, matchEtag); -PHP_METHOD(HttpUtil, cacheLastModified); -PHP_METHOD(HttpUtil, cacheEtag); -PHP_METHOD(HttpUtil, chunkedDecode); -PHP_METHOD(HttpUtil, splitResponse); -PHP_METHOD(HttpUtil, parseHeaders); -PHP_METHOD(HttpUtil, getRequestHeaders); -#ifdef HTTP_HAVE_CURL -PHP_METHOD(HttpUtil, get); -PHP_METHOD(HttpUtil, head); -PHP_METHOD(HttpUtil, postData); -PHP_METHOD(HttpUtil, postArray); -#endif /* HTTP_HAVE_CURL */ -PHP_METHOD(HttpUtil, authBasic); -PHP_METHOD(HttpUtil, authBasicCallback); - - -PHP_METHOD(HttpResponse, __construct);/* -PHP_METHOD(HttpResponse, __destruct);*/ -PHP_METHOD(HttpResponse, setETag); -PHP_METHOD(HttpResponse, getETag); -PHP_METHOD(HttpResponse, setContentDisposition); -PHP_METHOD(HttpResponse, getContentDisposition); -PHP_METHOD(HttpResponse, setContentType); -PHP_METHOD(HttpResponse, getContentType); -PHP_METHOD(HttpResponse, setCache); -PHP_METHOD(HttpResponse, getCache); -PHP_METHOD(HttpResponse, setCacheControl); -PHP_METHOD(HttpResponse, getCacheControl); -PHP_METHOD(HttpResponse, setGzip); -PHP_METHOD(HttpResponse, getGzip); -PHP_METHOD(HttpResponse, setData); -PHP_METHOD(HttpResponse, getData); -PHP_METHOD(HttpResponse, setFile); -PHP_METHOD(HttpResponse, getFile); -PHP_METHOD(HttpResponse, setStream); -PHP_METHOD(HttpResponse, getStream); -PHP_METHOD(HttpResponse, send); - -#ifdef HTTP_HAVE_CURL - -PHP_METHOD(HttpRequest, __construct); -PHP_METHOD(HttpRequest, __destruct); -PHP_METHOD(HttpRequest, setOptions); -PHP_METHOD(HttpRequest, getOptions); -PHP_METHOD(HttpRequest, unsetOptions); -PHP_METHOD(HttpRequest, setSslOptions); -PHP_METHOD(HttpRequest, getSslOptions); -PHP_METHOD(HttpRequest, unsetSslOptions); -PHP_METHOD(HttpRequest, addHeaders); -PHP_METHOD(HttpRequest, getHeaders); -PHP_METHOD(HttpRequest, unsetHeaders); -PHP_METHOD(HttpRequest, addCookies); -PHP_METHOD(HttpRequest, getCookies); -PHP_METHOD(HttpRequest, unsetCookies); -PHP_METHOD(HttpRequest, setMethod); -PHP_METHOD(HttpRequest, getMethod); -PHP_METHOD(HttpRequest, setURL); -PHP_METHOD(HttpRequest, getURL); -PHP_METHOD(HttpRequest, setContentType); -PHP_METHOD(HttpRequest, getContentType); -PHP_METHOD(HttpRequest, setQueryData); -PHP_METHOD(HttpRequest, getQueryData); -PHP_METHOD(HttpRequest, addQueryData); -PHP_METHOD(HttpRequest, unsetQueryData); -PHP_METHOD(HttpRequest, setPostData); -PHP_METHOD(HttpRequest, getPostData); -PHP_METHOD(HttpRequest, addPostData); -PHP_METHOD(HttpRequest, unsetPostData); -PHP_METHOD(HttpRequest, addPostFile); -PHP_METHOD(HttpRequest, getPostFiles); -PHP_METHOD(HttpRequest, unsetPostFiles); -PHP_METHOD(HttpRequest, send); -PHP_METHOD(HttpRequest, getResponseData); -PHP_METHOD(HttpRequest, getResponseHeader); -PHP_METHOD(HttpRequest, getResponseCookie); -PHP_METHOD(HttpRequest, getResponseCode); -PHP_METHOD(HttpRequest, getResponseBody); -PHP_METHOD(HttpRequest, getResponseInfo); - -#endif /* HTTP_HAVE_CURL */ - -#endif /* ZEND_ENGINE_2 */ - PHP_FUNCTION(http_test); PHP_FUNCTION(http_date); PHP_FUNCTION(http_absolute_uri); @@ -196,20 +97,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 - phpstr curlbuf; - zend_llist to_free; -#endif /* HTTP_HAVE_CURL */ -ZEND_END_MODULE_GLOBALS(http) - #endif /* PHP_HTTP_H */ /*