Разные set_response_processor для одного ресурса
Closed this issue · 3 comments
ivanych commented
Я в meta story использую run_swat_module:
$ cat tests/test1/hook.pm
run_swat_module(
GET => '/areas',
{
# некие параметры
}
);
Ресурс /areas возвращает JSON, я его обрабатываю в set_response_processor:
$ cat /areas/hook.pm
set_response_processor(
sub {
use JSON;
# некие действия с json
}
);
Если я создам вторую meta story c другими параметрами, то set_response_processor у обоих meta story будет одинаковый. А мне нужно, чтобы он был разный.
Можно ли для одного и того же ресурса, но вызываемого в разных meta story, сделать разные set_response_processor?
melezhik commented
Миш, если ты хочешь сделать функцию set_response_processor
настраиваемую , то ты можешь передавать ее как переменную модуля:
$ cat tests/test1/hook.pm
run_swat_module(
GET => '/areas',
{
response_sub => sub {
my $hdr = shift;
my $body = shift;
return "OK1 "
}
}
);
$ cat /areas/hook.pm
set_response_processor ( module_variable('response_sub') );
ivanych commented
Блин, как просто. Ща попробую.
ivanych commented
Да, отлично работает. Спасибо!