X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=php_http_client_pool_curl.c;h=12d9454d9f0781e478d6fba3f52368fda8be6c0c;hp=26e416768a7b37aecad46069156f0ec5497fab1e;hb=759c822dcd99fdf733399a5ed92dbea382ddc474;hpb=6cc24086f57aa1e8f4d6a2c12361635e7c24f60f diff --git a/php_http_client_pool_curl.c b/php_http_client_pool_curl.c index 26e4167..12d9454 100644 --- a/php_http_client_pool_curl.c +++ b/php_http_client_pool_curl.c @@ -66,7 +66,7 @@ static void php_http_client_pool_curl_responsehandler(php_http_client_pool_t *po if (msg->easy_handle == ((php_http_client_curl_t *) (obj->client->ctx))->handle) { Z_ADDREF_PP(request); zend_llist_add_element(&pool->clients.finished, request); - php_http_client_object_responsehandler(obj, *request TSRMLS_CC); + php_http_client_object_handle_response(*request TSRMLS_CC); } zval_ptr_dtor(request); @@ -274,14 +274,14 @@ static void php_http_client_pool_curl_dtor(php_http_client_pool_t *h) h->ctx = NULL; } -static STATUS php_http_client_pool_curl_attach(php_http_client_pool_t *h, php_http_client_t *r, const char *m, const char *url, php_http_message_body_t *body) +static STATUS php_http_client_pool_curl_attach(php_http_client_pool_t *h, php_http_client_t *r, php_http_message_t *m) { php_http_client_pool_curl_t *curl = h->ctx; php_http_client_curl_t *recurl = r->ctx; CURLMcode rs; TSRMLS_FETCH_FROM_CTX(h->ts); - if (SUCCESS != php_http_curl_request_prepare(r, m, url, body)) { + if (SUCCESS != php_http_client_curl_prepare(r, m)) { return FAILURE; } @@ -460,18 +460,25 @@ static php_http_resource_factory_ops_t php_http_curlm_resource_factory_ops = { php_http_curlm_dtor }; +static zend_class_entry *get_class_entry(void) +{ + return php_http_client_pool_curl_class_entry; +} + static php_http_client_pool_ops_t php_http_client_pool_curl_ops = { - &php_http_curlm_resource_factory_ops, - php_http_client_pool_curl_init, - NULL /* copy */, - php_http_client_pool_curl_dtor, - NULL /*reset */, - php_http_client_pool_curl_exec, - php_http_client_pool_curl_wait, - php_http_client_pool_curl_once, - php_http_client_pool_curl_attach, - php_http_client_pool_curl_detach, - php_http_client_pool_curl_setopt, + &php_http_curlm_resource_factory_ops, + php_http_client_pool_curl_init, + NULL /* copy */, + php_http_client_pool_curl_dtor, + NULL /*reset */, + php_http_client_pool_curl_exec, + php_http_client_pool_curl_wait, + php_http_client_pool_curl_once, + php_http_client_pool_curl_attach, + php_http_client_pool_curl_detach, + php_http_client_pool_curl_setopt, + (php_http_new_t) php_http_client_pool_curl_object_new_ex, + get_class_entry }; PHP_HTTP_API php_http_client_pool_ops_t *php_http_client_pool_curl_get_ops(void) @@ -482,8 +489,8 @@ PHP_HTTP_API php_http_client_pool_ops_t *php_http_client_pool_curl_get_ops(void) #define PHP_HTTP_BEGIN_ARGS(method, req_args) PHP_HTTP_BEGIN_ARGS_EX(HttpClientCURL, method, 0, req_args) #define PHP_HTTP_EMPTY_ARGS(method) PHP_HTTP_EMPTY_ARGS_EX(HttpClientCURL, method, 0) #define PHP_HTTP_CURL_ME(method, visibility) PHP_ME(HttpClientCURL, method, PHP_HTTP_ARGS(HttpClientCURL, method), visibility) -#define PHP_HTTP_CURL_ALIAS(method, func) PHP_HTTP_STATIC_ME_ALIAS(method, func, PHP_HTTP_ARGS(HttpClientCURL, method)) -#define PHP_HTTP_CURL_MALIAS(me, al, vis) ZEND_FENTRY(me, ZEND_MN(HttpClientCURL_##al), PHP_HTTP_ARGS(HttpClientCURL, al), vis) +#define PHP_HTTP_CURL_ALIAS(method, func) PHP_HTTP_STATIC_ME_ALIAS(method, func, PHP_HTTP_ARGS(HttpClientCURL, method)) +#define PHP_HTTP_CURL_MALIAS(me, al, vis) ZEND_FENTRY(me, ZEND_MN(HttpClientCURL_##al), PHP_HTTP_ARGS(HttpClientCURL, al), vis) zend_class_entry *php_http_client_pool_curl_class_entry; zend_function_entry php_http_client_pool_curl_method_entry[] = { @@ -525,7 +532,7 @@ PHP_MINIT_FUNCTION(http_client_pool_curl) return FAILURE; } - PHP_HTTP_REGISTER_CLASS(http\\Client\\Pool, CURL, http_client_pool_curl, php_http_client_pool_class_entry, 0); + PHP_HTTP_REGISTER_CLASS(http\\Client\\Pool, CURL, http_client_pool_curl, php_http_client_pool_get_class_entry(), 0); php_http_client_pool_curl_class_entry->create_object = php_http_client_pool_curl_object_new; return SUCCESS;