- start thinking about cloning
[m6w6/ext-http] / php_http_request_object.h
index 426d0ea00b6e60fb4c0fee1cad9c31f1f9732ab9..7cbc2a38679c5ce5a8709fc8951e6bdcc3f98802 100644 (file)
@@ -35,17 +35,24 @@ typedef struct {
        CURL *ch;
        http_request_pool *pool;
        phpstr response;
+       phpstr request;
+       phpstr history;
 } http_request_object;
 
 extern zend_class_entry *http_request_object_ce;
 extern zend_function_entry http_request_object_fe[];
 
-#define http_request_object_init() _http_request_object_init(INIT_FUNC_ARGS_PASSTHRU)
-extern void _http_request_object_init(INIT_FUNC_ARGS);
+extern PHP_MINIT_FUNCTION(http_request_object);
+
 #define http_request_object_new _http_request_object_new
 extern zend_object_value _http_request_object_new(zend_class_entry *ce TSRMLS_DC);
+#define http_request_object_new_ex(ce, ch) _http_request_object_new_ex((ce), (ch) TSRMLS_CC)
+#define http_request_object_from_curl(ch) _http_request_object_new_ex(http_request_object_ce, (ch) TSRMLS_CC)
+extern zend_object_value _http_request_object_new_ex(zend_class_entry *ce, CURL *ch TSRMLS_DC);
 #define http_request_object_free _http_request_object_free
 extern void _http_request_object_free(zend_object *object TSRMLS_DC);
+#define http_request_object_clone(o) _http_request_object_clone((o) TSRMLS_CC)
+extern zend_object_value _http_request_object_clone(zval *object TSRMLS_DC);
 
 #define http_request_object_requesthandler(req, this, body) _http_request_object_requesthandler((req), (this), (body) TSRMLS_CC)
 extern STATUS _http_request_object_requesthandler(http_request_object *obj, zval *this_ptr, http_request_body *body TSRMLS_DC);
@@ -56,16 +63,14 @@ 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, setHeaders);
 PHP_METHOD(HttpRequest, addCookies);
 PHP_METHOD(HttpRequest, getCookies);
-PHP_METHOD(HttpRequest, unsetCookies);
+PHP_METHOD(HttpRequest, setCookies);
 PHP_METHOD(HttpRequest, setMethod);
 PHP_METHOD(HttpRequest, getMethod);
 PHP_METHOD(HttpRequest, setUrl);
@@ -75,18 +80,17 @@ PHP_METHOD(HttpRequest, getContentType);
 PHP_METHOD(HttpRequest, setQueryData);
 PHP_METHOD(HttpRequest, getQueryData);
 PHP_METHOD(HttpRequest, addQueryData);
-PHP_METHOD(HttpRequest, unsetQueryData);
 PHP_METHOD(HttpRequest, setPostFields);
 PHP_METHOD(HttpRequest, getPostFields);
 PHP_METHOD(HttpRequest, addPostFields);
-PHP_METHOD(HttpRequest, unsetPostFields);
+PHP_METHOD(HttpRequest, getRawPostData);
+PHP_METHOD(HttpRequest, setRawPostData);
+PHP_METHOD(HttpRequest, addRawPostData);
 PHP_METHOD(HttpRequest, addPostFile);
 PHP_METHOD(HttpRequest, setPostFiles);
 PHP_METHOD(HttpRequest, getPostFiles);
-PHP_METHOD(HttpRequest, unsetPostFiles);
 PHP_METHOD(HttpRequest, setPutFile);
 PHP_METHOD(HttpRequest, getPutFile);
-PHP_METHOD(HttpRequest, unsetPutFile);
 PHP_METHOD(HttpRequest, send);
 PHP_METHOD(HttpRequest, getResponseData);
 PHP_METHOD(HttpRequest, getResponseHeader);
@@ -95,6 +99,21 @@ PHP_METHOD(HttpRequest, getResponseCode);
 PHP_METHOD(HttpRequest, getResponseBody);
 PHP_METHOD(HttpRequest, getResponseInfo);
 PHP_METHOD(HttpRequest, getResponseMessage);
+PHP_METHOD(HttpRequest, getRequestMessage);
+PHP_METHOD(HttpRequest, getHistory);
+PHP_METHOD(HttpRequest, clearHistory);
+
+PHP_METHOD(HttpRequest, get);
+PHP_METHOD(HttpRequest, head);
+PHP_METHOD(HttpRequest, postData);
+PHP_METHOD(HttpRequest, postFields);
+PHP_METHOD(HttpRequest, putFile);
+PHP_METHOD(HttpRequest, putStream);
+
+PHP_METHOD(HttpRequest, methodRegister);
+PHP_METHOD(HttpRequest, methodUnregister);
+PHP_METHOD(HttpRequest, methodName);
+PHP_METHOD(HttpRequest, methodExists);
 
 #endif
 #endif