diff options
author | joe <joe@61a7d7f5-40b7-0310-9c16-bb0ea8cb1845> | 2006-09-26 09:13:42 +0000 |
---|---|---|
committer | joe <joe@61a7d7f5-40b7-0310-9c16-bb0ea8cb1845> | 2006-09-26 09:13:42 +0000 |
commit | c3706745d52552e6b1d9d89ba9e0054bd753812c (patch) | |
tree | 6860465c5d0ca700e68458ee10ca1ea20e914fa7 /src/ne_session.c | |
parent | 808cce47c401fcbbf6036fc9668716b85df4a58c (diff) | |
download | neon-c3706745d52552e6b1d9d89ba9e0054bd753812c.tar.gz |
Add new hook which runs after the headers have been read:
* src/ne_request.h (ne_post_headers_fn, ne_hook_post_headers): Add
type, prototype.
* src/ne_private.h (struct ne_session_s): Add post_headers_hooks
field.
* src/ne_request.c (ne_begin_request): Run post_headers hooks.
* src/ne_session.c (ne_session_destroy): Destroy post_headers hooks.
(ne_hook_post_headers, ne_unhook_post_headers): New functions.
* test/request.c (status_to_string): New function.
(hook_post_send): Use it.
(hook_post_headers): New function.
(hooks): Test post_headers hook.
git-svn-id: http://svn.webdav.org/repos/projects/neon/trunk@1075 61a7d7f5-40b7-0310-9c16-bb0ea8cb1845
Diffstat (limited to 'src/ne_session.c')
-rw-r--r-- | src/ne_session.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/ne_session.c b/src/ne_session.c index 3c2f822..b6e545b 100644 --- a/src/ne_session.c +++ b/src/ne_session.c @@ -68,6 +68,7 @@ void ne_session_destroy(ne_session *sess) destroy_hooks(sess->create_req_hooks); destroy_hooks(sess->pre_send_hooks); + destroy_hooks(sess->post_headers_hooks); destroy_hooks(sess->post_send_hooks); destroy_hooks(sess->destroy_req_hooks); destroy_hooks(sess->destroy_sess_hooks); @@ -392,6 +393,12 @@ void ne_hook_post_send(ne_session *sess, ne_post_send_fn fn, void *userdata) ADD_HOOK(sess->post_send_hooks, fn, userdata); } +void ne_hook_post_headers(ne_session *sess, ne_post_headers_fn fn, + void *userdata) +{ + ADD_HOOK(sess->post_headers_hooks, fn, userdata); +} + void ne_hook_destroy_request(ne_session *sess, ne_destroy_req_fn fn, void *userdata) { @@ -437,6 +444,12 @@ void ne_unhook_pre_send(ne_session *sess, ne_pre_send_fn fn, void *userdata) REMOVE_HOOK(sess->pre_send_hooks, fn, userdata); } +void ne_unhook_post_headers(ne_session *sess, ne_post_headers_fn fn, + void *userdata) +{ + REMOVE_HOOK(sess->post_headers_hooks, fn, userdata); +} + void ne_unhook_post_send(ne_session *sess, ne_post_send_fn fn, void *userdata) { REMOVE_HOOK(sess->post_send_hooks, fn, userdata); |