- make the asynchronous behaviour of curl_multi available by socketSend(), socketSele...
[m6w6/ext-http] / php_http_request_object.h
index 3f87a17a3e9bca764cda98a09e5345ab5bad97ce..e22378548a635c66a983663f84254f24f5d66d2d 100644 (file)
 
 #include <curl/curl.h>
 
+#include "php_http_request_api.h"
 #include "phpstr/phpstr.h"
 
 typedef struct {
        zend_object zo;
        CURL *ch;
+       http_request_pool *pool;
        phpstr response;
 } 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
+#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, info) _http_request_object_responsehandler((req), (this), (info) TSRMLS_CC)
+extern STATUS _http_request_object_responsehandler(http_request_object *obj, zval *this_ptr, HashTable *info TSRMLS_DC);
+
 PHP_METHOD(HttpRequest, __construct);
 PHP_METHOD(HttpRequest, __destruct);
 PHP_METHOD(HttpRequest, setOptions);
@@ -73,8 +80,12 @@ 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);