Congrats! Welcome to the world of filters!
On 03/01/2012 09:37 AM, Swaminathan Bhaskar wrote:
Ahh - Finally, I was able to get it working. Thanks for the pointer. Here is the code snippet: #include<stdio.h> #include<httpd.h> #include<http_protocol.h> #include<http_config.h> #include<http_log.h> #include<util_filter.h> #define MY_FILTER_NAME "myfilter" static void insert_myfilter(request_rec *req) { ap_add_output_filter(MY_FILTER_NAME, NULL, req, req->connection); ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, req->server, "mod_myfilter: inserted myfilter"); } static int my_output_filter(ap_filter_t *f, apr_bucket_brigade *bb) { if (f->r->status_line != NULL) { ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, f->r->server, "mod_myfilter: status = %d, status-line = %s", f->r->status, f->r->status_line); } else { ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, f->r->server, "mod_myfilter: status = %d", f->r->status); } ap_pass_brigade(f->next, bb); return APR_SUCCESS; } static void my_filter_hooks(apr_pool_t *pool) { ap_register_output_filter(MY_FILTER_NAME, my_output_filter, NULL, AP_FTYPE_RESOURCE); ap_hook_insert_filter(insert_myfilter, NULL, NULL, APR_HOOK_LAST); ap_hook_insert_error_filter(insert_myfilter, NULL, NULL, APR_HOOK_LAST); fprintf(stderr, "mod_myfilter: registered my_output_filter\n"); } module AP_MODULE_DECLARE_DATA myfilter_module = { STANDARD20_MODULE_STUFF, NULL, NULL, NULL, NULL, NULL, my_filter_hooks }; Rgds Bhaskar