- API juggling
[m6w6/ext-http] / php_http_request_object.h
index 9af6e8bc84ca9d56ca282d8b9100057497b392e3..5414fa5d70ccd2ddfd9b11ed7501dbce0ec8155a 100644 (file)
 
 #include <curl/curl.h>
 
+#include "php_http_request_api.h"
+#include "php_http_request_pool_api.h"
 #include "phpstr/phpstr.h"
 
 typedef struct {
        zend_object zo;
        CURL *ch;
+       http_request_pool *pool;
        phpstr response;
 } http_request_object;
 
-typedef enum {
-       HTTP_GET = 1,
-       HTTP_HEAD,
-       HTTP_POST,
-} http_request_method;
-
 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
+#define http_request_object_init() _http_request_object_init(INIT_FUNC_ARGS_PASSTHRU)
 extern void _http_request_object_init(INIT_FUNC_ARGS);
 #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_free _http_request_object_free
 extern void _http_request_object_free(zend_object *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);
+#define http_request_object_responsehandler(req, this) _http_request_object_responsehandler((req), (this) TSRMLS_CC)
+extern STATUS _http_request_object_responsehandler(http_request_object *obj, zval *this_ptr TSRMLS_DC);
+
 PHP_METHOD(HttpRequest, __construct);
 PHP_METHOD(HttpRequest, __destruct);
 PHP_METHOD(HttpRequest, setOptions);
@@ -66,21 +68,25 @@ 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, 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, setPostFields);
+PHP_METHOD(HttpRequest, getPostFields);
+PHP_METHOD(HttpRequest, addPostFields);
+PHP_METHOD(HttpRequest, unsetPostFields);
 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);
@@ -90,6 +96,18 @@ PHP_METHOD(HttpRequest, getResponseBody);
 PHP_METHOD(HttpRequest, getResponseInfo);
 PHP_METHOD(HttpRequest, getResponseMessage);
 
+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
 #endif