2.0.0beta2
[m6w6/ext-http] / php_http_client.h
index 4fdef597404f2190ec97f4518f9a50e2cc0e2791..8e3d8b46e6bb71d9e82a39a63ed95c406a82d7c9 100644 (file)
@@ -136,15 +136,24 @@ typedef struct php_http_client_ops {
        php_http_client_exec_func_t exec;
        php_http_client_setopt_func_t setopt;
        php_http_client_getopt_func_t getopt;
+       php_http_new_t create_object;
+       zend_class_entry *(*class_entry)(void);
 } php_http_client_ops_t;
 
 typedef struct php_http_client {
        void *ctx;
        php_http_resource_factory_t *rf;
        php_http_client_ops_t *ops;
-       php_http_message_parser_t *parser;
-       php_http_message_t *message;
-       php_http_buffer_t *buffer;
+       struct {
+               php_http_message_parser_t *parser;
+               php_http_message_t *message;
+               php_http_buffer_t *buffer;
+       } request;
+       struct {
+               php_http_message_parser_t *parser;
+               php_http_message_t *message;
+               php_http_buffer_t *buffer;
+       } response;
 #ifdef ZTS
        void ***ts;
 #endif
@@ -164,21 +173,20 @@ typedef struct php_http_client_object {
        php_http_client_t *client;
 } php_http_client_object_t;
 
-extern zend_class_entry *php_http_client_class_entry;
-extern zend_function_entry php_http_client_method_entry[];
-
-extern zend_object_value php_http_client_object_new(zend_class_entry *ce TSRMLS_DC);
-extern zend_object_value php_http_client_object_new_ex(zend_class_entry *ce, php_http_client_t *r, php_http_client_object_t **ptr TSRMLS_DC);
-extern zend_object_value php_http_client_object_clone(zval *zobject TSRMLS_DC);
-extern void php_http_client_object_free(void *object TSRMLS_DC);
+zend_object_value php_http_client_object_new(zend_class_entry *ce TSRMLS_DC);
+zend_object_value php_http_client_object_new_ex(zend_class_entry *ce, php_http_client_t *r, php_http_client_object_t **ptr TSRMLS_DC);
+zend_object_value php_http_client_object_clone(zval *zobject TSRMLS_DC);
+void php_http_client_object_free(void *object TSRMLS_DC);
 
-extern zend_object_handlers *php_http_client_get_object_handlers(void);
+zend_class_entry *php_http_client_get_class_entry(void);
+zend_object_handlers *php_http_client_get_object_handlers(void);
 
-extern STATUS php_http_client_object_handle_request(zval *zclient, zval **zreq TSRMLS_DC);
-extern STATUS php_http_client_object_handle_response(zval *zclient TSRMLS_DC);
+STATUS php_http_client_object_handle_request(zval *zclient, zval **zreq TSRMLS_DC);
+STATUS php_http_client_object_handle_response(zval *zclient TSRMLS_DC);
 
-extern STATUS php_http_client_object_requesthandler(php_http_client_object_t *obj, zval *this_ptr, char **meth, char **url, php_http_message_body_t **body TSRMLS_DC);
-extern STATUS php_http_client_object_responsehandler(php_http_client_object_t *obj, zval *this_ptr TSRMLS_DC);
+void php_http_client_options_set(zval *this_ptr, zval *opts TSRMLS_DC);
+void php_http_client_options_set_subr(zval *this_ptr, char *key, size_t len, zval *opts, int overwrite TSRMLS_DC);
+void php_http_client_options_get_subr(zval *this_ptr, char *key, size_t len, zval *return_value TSRMLS_DC);
 
 PHP_METHOD(HttpClient, __construct);
 PHP_METHOD(HttpClient, getObservers);
@@ -201,6 +209,7 @@ PHP_METHOD(HttpClient, flushCookies);
 PHP_METHOD(HttpClient, setRequest);
 PHP_METHOD(HttpClient, getRequest);
 PHP_METHOD(HttpClient, send);
+PHP_METHOD(HttpClient, request);
 PHP_METHOD(HttpClient, getResponseMessage);
 PHP_METHOD(HttpClient, getRequestMessage);
 PHP_METHOD(HttpClient, getHistory);
@@ -208,7 +217,7 @@ PHP_METHOD(HttpClient, clearHistory);
 PHP_METHOD(HttpClient, getResponseMessageClass);
 PHP_METHOD(HttpClient, setResponseMessageClass);
 
-extern PHP_MINIT_FUNCTION(http_client);
+PHP_MINIT_FUNCTION(http_client);
 
 #endif