X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=src%2Fphp_http_client.h;h=8c526bd7d62fb1848a4cc785ebb08fd14cbdbd10;hp=f4a5b59138632810b4d108ce8cafde05e84a4edf;hb=refs%2Fheads%2Fv2.6.x;hpb=bdd6edb59194cda9e5fcb393c48ab4230fceb32a diff --git a/src/php_http_client.h b/src/php_http_client.h index f4a5b59..8c526bd 100644 --- a/src/php_http_client.h +++ b/src/php_http_client.h @@ -89,6 +89,14 @@ typedef struct php_http_client_progress_state { typedef ZEND_RESULT_CODE (*php_http_client_response_callback_t)(void *arg, struct php_http_client *client, php_http_client_enqueue_t *e, php_http_message_t **response); typedef void (*php_http_client_progress_callback_t)(void *arg, struct php_http_client *client, php_http_client_enqueue_t *e, php_http_client_progress_state_t *state); +typedef void (*php_http_client_debug_callback_t)(void *arg, struct php_http_client *client, php_http_client_enqueue_t *e, unsigned type, const char *data, size_t size); + +#define PHP_HTTP_CLIENT_DEBUG_INFO 0x00 +#define PHP_HTTP_CLIENT_DEBUG_IN 0x01 +#define PHP_HTTP_CLIENT_DEBUG_OUT 0x02 +#define PHP_HTTP_CLIENT_DEBUG_HEADER 0x10 +#define PHP_HTTP_CLIENT_DEBUG_BODY 0x20 +#define PHP_HTTP_CLIENT_DEBUG_SSL 0x40 typedef struct php_http_client { void *ctx; @@ -104,6 +112,11 @@ typedef struct php_http_client { php_http_client_progress_callback_t func; void *arg; } progress; + struct { + php_http_client_debug_callback_t func; + void *arg; + } debug; + unsigned depth; } callback; zend_llist requests; @@ -123,6 +136,10 @@ typedef struct php_http_client_object { long iterator; php_http_object_method_t *update; php_http_object_method_t notify; + struct { + zend_fcall_info fci; + zend_fcall_info_cache fcc; + } debug; } php_http_client_object_t; PHP_HTTP_API php_http_client_t *php_http_client_init(php_http_client_t *h, php_http_client_ops_t *ops, php_resource_factory_t *rf, void *init_arg TSRMLS_DC);