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