The "headers_more" module: Set and clear output headers...more than "add"!
agentzh
agentzh at gmail.com
Wed Nov 18 10:48:58 MSK 2009
On Wed, Nov 18, 2009 at 10:18 AM, agentzh <agentzh at gmail.com> wrote:
>
> But another TODO comes into my mind: adding support for input headers!
> Stay tuned :)
>
Okay, the input header support has finally landed in v0.05 after a few
hours' big refactoring and hacking. Here's some funny examples:
location /foo {
set $my_host 'my dog';
more_set_input_headers 'Host: $my_host';
more_set_input_headers -t 'text/plain' 'X-Foo: bah';
# now $host and $http_host have their new values...
}
The "input header filter" runs in the access phase. I'm not sure if
it's completely right but this phase lets me pass all the related
tests in
http://github.com/agentzh/headers-more-nginx-module/blob/master/test/t/input.t
and
http://github.com/agentzh/headers-more-nginx-module/blob/master/test/t/vars.t
while other phases break things horribly :)
Theoretically it should also work with subrequests. But unfortunately
the ngx_http_subrequest function in the core seems to be buggy
regarding r->headers_in handling IIRC. So be careful with that :)
I'll work on the wiki page for this module soon.
Enjoy!
-agentzh
More information about the nginx
mailing list