- draft: implement curl_multi as HttpRequestPool
[m6w6/ext-http] / php_http_request_object.h
index 57051b710f79e1bdd0c6e1dac74ff341b1eca553..e8326b39c3473b92eff1da6f1bbc9540ff992bd3 100644 (file)
 
 #include <curl/curl.h>
 
+#include "php_http_request_api.h"
 #include "phpstr/phpstr.h"
 
 typedef struct {
        zend_object zo;
        CURL *ch;
+       zend_bool attached;
        phpstr response;
 } http_request_object;
 
@@ -44,6 +46,11 @@ 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);