#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;
-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);
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);