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;