* release 0.6.0
[m6w6/ext-http] / php_http.h
index c4fc38050873776aad9c82ded570cd42c8fd410f..447a09b1fa1c7f37e38498fdc8e2fcef8891dc93 100644 (file)
@@ -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"
 
 /* make compile on Win32 */
 #include "php_streams.h"
@@ -34,16 +34,27 @@ 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 <curl/curl.h>
+
+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);
@@ -110,11 +121,14 @@ 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);
@@ -154,7 +168,9 @@ PHP_FUNCTION(http_post_array);
 #endif
 PHP_FUNCTION(http_auth_basic);
 PHP_FUNCTION(http_auth_basic_cb);
-
+#ifndef ZEND_ENGINE_2
+PHP_FUNCTION(http_build_query);
+#endif
 PHP_FUNCTION(ob_httpetaghandler);
 
 PHP_MINIT_FUNCTION(http);
@@ -173,17 +189,12 @@ 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;
+       zend_llist to_free;
 #endif
 ZEND_END_MODULE_GLOBALS(http)