X-Git-Url: https://git.m6w6.name/?p=m6w6%2Fext-http;a=blobdiff_plain;f=src%2Fphp_http_client.h;h=08743e69ebbaa9188d7a64da3c888bb1b217aa55;hp=6aa8abf282f6da9f0afe1a6d519ba22eb31afb4b;hb=7214e1aef4efce10bcc509d2a741acef88d28781;hpb=3db1f1fe45ab051a57f70f637618e02f7985406e diff --git a/src/php_http_client.h b/src/php_http_client.h index 6aa8abf..08743e6 100644 --- a/src/php_http_client.h +++ b/src/php_http_client.h @@ -90,6 +90,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; @@ -105,6 +113,10 @@ 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; } callback; zend_llist requests; @@ -117,7 +129,12 @@ typedef struct php_http_client_object { php_http_client_t *client; php_http_object_method_t *update; php_http_object_method_t notify; + struct { + zend_fcall_info fci; + zend_fcall_info_cache fcc; + } debug; long iterator; + zval *gc; zend_object zo; } php_http_client_object_t;