Rewrite handling order

Fasih faskiri.devel at gmail.com
Tue Jan 14 13:24:44 UTC 2014


Thanks! Could you please explain why this is done?


On Tue, Jan 14, 2014 at 4:41 PM, Maxim Dounin <mdounin at mdounin.ru> wrote:

> Hello!
>
> On Tue, Jan 14, 2014 at 04:15:32PM +0530, Fasih wrote:
>
> > Hi
> >
> > I have a custom plugin that handles rewrite (NGX_HTTP_REWRITE_PHASE).
> There
> > is another plugin compiled before my plugin that also handles rewrite
> > (HttpLuaModule). I was expecting to see that my module would rewrite
> after
> > lua is done, however that is not the case. Some debugging showed that
> > whereas my module pushed into the
> > cmcf->phases[NGX_HTTP_REWRITE_PHASE].handlers after lua, the
> > cmcf.phase_engine.handlers had lua *after* my module. The culprit seems
> to
> > be the following:
> >
> > static ngx_int_t
> > ngx_http_init_phase_handlers(ngx_conf_t *cf, ngx_http_core_main_conf_t
> > *cmcf)
> > {
> > ..
> >         ph = cmcf->phase_engine.handlers;
> > ..
> >         n += cmcf->phases[i].handlers.nelts;
> >
> >         for (j = cmcf->phases[i].handlers.nelts - 1; j >=0; j--) {
> >             ph->checker = checker;
> >             ph->handler = h[j];
> >             ph->next = n;
> >             ph++;
> >         }
> > }
> >
> > The order is inverted here (h[j] before h[j-1]). Is this intentional or a
> > bug?
>
> It's intentional.
>
> --
> Maxim Dounin
> http://nginx.org/
>
> _______________________________________________
> nginx-devel mailing list
> nginx-devel at nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx-devel/attachments/20140114/0b795b86/attachment.html>


More information about the nginx-devel mailing list