dougm 01/01/08 21:41:21 Modified: src/modules/perl mod_perl.c mod_perl.h modperl_types.h Log: adjust to handler hook change Revision Changes Path 1.23 +13 -13 modperl-2.0/src/modules/perl/mod_perl.c Index: mod_perl.c =================================================================== RCS file: /home/cvs/modperl-2.0/src/modules/perl/mod_perl.c,v retrieving revision 1.22 retrieving revision 1.23 diff -u -r1.22 -r1.23 --- mod_perl.c 2001/01/02 06:40:19 1.22 +++ mod_perl.c 2001/01/09 05:41:20 1.23 @@ -142,6 +142,8 @@ { ap_hook_open_logs(modperl_hook_init, NULL, NULL, AP_HOOK_MIDDLE); + ap_hook_handler(modperl_response_handler, NULL, NULL, AP_HOOK_MIDDLE); + ap_hook_insert_filter(modperl_output_filter_register, NULL, NULL, AP_HOOK_LAST); @@ -176,7 +178,7 @@ { NULL }, }; -static void modperl_response_init(request_rec *r) +void modperl_response_init(request_rec *r) { MP_dRCFG; @@ -188,7 +190,7 @@ rcfg->wbucket.outcnt = 0; } -static void modperl_response_finish(request_rec *r) +void modperl_response_finish(request_rec *r) { MP_dRCFG; @@ -196,28 +198,27 @@ modperl_wbucket_flush(&rcfg->wbucket); } -static int modperl_response_handler(request_rec *r) +int modperl_response_handler(request_rec *r) { int retval; + if (!strEQ(r->handler, "modperl")) { + return DECLINED; + } + modperl_response_init(r); retval = modperl_per_dir_callback(MP_RESPONSE_HANDLER, r); + if (retval == DECLINED) { + r->handler = "*/*"; /* let http_core or whatever try */ + } + modperl_response_finish(r); return retval; } -static const handler_rec modperl_handlers[] = { -#if 0 - { "perl-script", modperl_1xx_response_handler }, -#endif - /* this response handler does not do any extra crap */ - { "modperl", modperl_response_handler }, - { NULL }, -}; - module MODULE_VAR_EXPORT perl_module = { STANDARD20_MODULE_STUFF, modperl_create_dir_config, /* dir config creater */ @@ -225,6 +226,5 @@ modperl_create_srv_config, /* server config */ modperl_merge_srv_config, /* merge server config */ modperl_cmds, /* table of config file commands */ - modperl_handlers, /* handlers */ modperl_register_hooks, /* register hooks */ }; 1.22 +4 -0 modperl-2.0/src/modules/perl/mod_perl.h Index: mod_perl.h =================================================================== RCS file: /home/cvs/modperl-2.0/src/modules/perl/mod_perl.h,v retrieving revision 1.21 retrieving revision 1.22 diff -u -r1.21 -r1.22 --- mod_perl.h 2001/01/06 02:52:03 1.21 +++ mod_perl.h 2001/01/09 05:41:20 1.22 @@ -32,4 +32,8 @@ PerlInterpreter *modperl_startup(server_rec *s, apr_pool_t *p); void xs_init(pTHXo); +void modperl_response_init(request_rec *r); +void modperl_response_finish(request_rec *r); +int modperl_response_handler(request_rec *r); + #endif /* MOD_PERL_H */ 1.18 +0 -1 modperl-2.0/src/modules/perl/modperl_types.h Index: modperl_types.h =================================================================== RCS file: /home/cvs/modperl-2.0/src/modules/perl/modperl_types.h,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- modperl_types.h 2001/01/07 21:50:03 1.17 +++ modperl_types.h 2001/01/09 05:41:20 1.18 @@ -15,7 +15,6 @@ typedef cmd_parms * Apache__CmdParms; typedef module * Apache__Module; -typedef handler_rec * Apache__Handler; typedef command_rec * Apache__Command; typedef apr_table_t * Apache__table;