2011年2月25日星期五

question about extending nginx_perl

Hi,

I need to intercept cookies while it setting in upstream module. To make
it controllable throw reverse proxy. I want to use for this purpose
ngx_perl, but it contains embedding only for getting headers_in and
creating headers_out. So I need ability to iterate throw it at rewrite
stage and iterate throw upstream.headers_out on content stage.

I guess nginx.conf will looks like:

perl/lib/filter.pm:

package filter;
use nginx;

sub handler {
my $r = shift;
while(my $header=$r->upstream->header_out_get_next()){
if($header->name eq 'Set-Cookie'){
#do something with cookie
#....
$header->value("new value");
}

return OK;
}

1;
__END__


server {
location / {

perl_rewrite '
sub {
my $r = shift;
while(my $header=$r->header_in_get_next()){
if($header->name eq 'Cookie'){
#do something with cookie
#....
$header->value("new value");
}
}
}
';

perl filter::handler;
}
}


_______________________________________________
nginx mailing list
nginx@nginx.org
http://nginx.org/mailman/listinfo/nginx

没有评论:

发表评论