httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From r..@covalent.net
Subject Re: [PATCH] filter common/support patch #2
Date Sat, 24 Jun 2000 16:20:41 GMT

+1.

Ryan

On Sat, 24 Jun 2000, Greg Stein wrote:

> This patch is extracted from Ryan's patches. It adds a new processing step
> that provides a point where modules should insert their filters.
> 
> 
> Index: include/http_request.h
> ===================================================================
> RCS file: /home/cvs/apache-2.0/src/include/http_request.h,v
> retrieving revision 1.11
> diff -u -r1.11 http_request.h
> --- include/http_request.h	2000/05/27 22:53:47	1.11
> +++ include/http_request.h	2000/06/24 08:19:45
> @@ -120,6 +120,7 @@
>  AP_DECLARE_HOOK(int,type_checker,(request_rec *))
>  AP_DECLARE_HOOK(int,access_checker,(request_rec *))
>  AP_DECLARE_HOOK(int,auth_checker,(request_rec *))
> +AP_DECLARE_HOOK(void,insert_filter,(request_rec *))
>  
>  #ifdef __cplusplus
>  }
> Index: main/http_request.c
> ===================================================================
> RCS file: /home/cvs/apache-2.0/src/main/http_request.c,v
> retrieving revision 1.33
> diff -u -r1.33 http_request.c
> --- main/http_request.c	2000/06/17 16:29:48	1.33
> +++ main/http_request.c	2000/06/24 08:19:50
> @@ -86,6 +86,7 @@
>  	    AP_HOOK_LINK(type_checker)
>  	    AP_HOOK_LINK(access_checker)
>  	    AP_HOOK_LINK(auth_checker)
> +	    AP_HOOK_LINK(insert_filter)
>  )
>  
>  AP_IMPLEMENT_HOOK_RUN_FIRST(int,translate_name,
> @@ -100,6 +101,7 @@
>                            (request_rec *r),(r),OK,DECLINED)
>  AP_IMPLEMENT_HOOK_RUN_FIRST(int,auth_checker,
>                              (request_rec *r),(r),DECLINED)
> +AP_IMPLEMENT_HOOK_VOID(insert_filter, (request_rec *r), (r))
>  
>  /*****************************************************************
>   *
> @@ -1246,6 +1248,15 @@
>          ap_die(access_status, r);
>          return;
>      }
> +
> +    /* The new insert_filter stage makes sense here IMHO.  We are sure that
> +     * we are going to run the request now, so we may as well insert filters
> +     * if any are available.  Since the goal of this phase is to allow all
> +     * modules to insert a filter if they want to, this filter returns
> +     * void.  I just can't see any way that this filter can reasonably
> +     * fail, either your modules inserts something or it doesn't.  rbb
> +     */
> +    ap_run_insert_filter(r);
>  
>      if ((access_status = ap_invoke_handler(r)) != 0) {
>          ap_die(access_status, r);
> 


_______________________________________________________________________________
Ryan Bloom                        	rbb@apache.org
406 29th St.
San Francisco, CA 94131
-------------------------------------------------------------------------------


Mime
View raw message