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;
  
  
  

Reply via email to