Proxy : Why two places request structure is stored in upstream
    Maxim Dounin 
    mdounin at mdounin.ru
       
    Mon Nov 24 13:00:14 UTC 2014
    
    
  
Hello!
On Sat, Nov 22, 2014 at 01:44:06PM +0530, punit kandoi wrote:
> Hi,
> 
> I was reading world famous tutorial by Emiller. Nginx guide to module
> development.
> 
> I was going to ngx_http_proxy_handler() as described in tutorial.
> 
> I seen request structure is stored in two places in upstream.
> 
>     u->pipe->input_filter = ngx_http_proxy_copy_filter;
>     u->pipe->input_ctx = r;  <<------
> 
>     u->input_filter_init = ngx_http_proxy_input_filter_init;
>     u->input_filter = ngx_http_proxy_non_buffered_copy_filter;
>     u->input_filter_ctx = r;   <<------
> 
> Whats the difference between two variables?
The "u->pipe->input_ctx" context is for ngx_event_pipe() code, to 
be used by buffered input filters when needed.
The "u->input_filter_ctx" context is for non-buffered filters.
> If we want to take request structure from upstream in later stage before
> selecting server which value to be used?
Both of the above are wrong if you aren't writing an input filter.
-- 
Maxim Dounin
http://nginx.org/
    
    
More information about the nginx-devel
mailing list