Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: perl модуль, возвращение запроса на обработку nginx
Пока нашёл только один рабочий вариант: делать internal_redirect на другой
локейшен.
Есть ли менее череззаднепроходные методы реализовать мою задачу?
пока как-то так:
package onlyxml;
use nginx;
use strict;
use XML::Simple;
sub test {
my $r = shift;
if ($r->request_method eq "POST") {
if ($r->has_request_body(\&post)) {
$r->internal_redirect('/valid'.$r->uri);
} else {
return 401; # пустой запрос
}
} else {
#return DECLINED; # не GET запросы
$r->internal_redirect('/valid'.$r->uri);
}
}
sub post {
my $r = shift;
my $xs = new XML::Simple();
my $hash;
eval {$hash = $xs->XMLin($r->request_body)};
if ($@){
return 400; # не валидный
} else {
return 1; # Валидный xml
}
}
1;
__END__
Posted at Nginx Forum:
http://forum.nginx.org/read.php?21,232459,232485#msg-232485
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|