Несмотря на то, что я не могу проверить вашу конкретную конечную точку, я создал пример приложения, которое вы найдете полезным при отладке этой проблемы.
Обратите внимание, что я автоматически поднимаю ответ и использую setting
синтаксис для поднятия событий.Обычно вы не сделаете и того, и другого, но это осветит разницу.При явном повышении результата вы получите полный ответ.В моем примере вы можете видеть, что заголовок server
возвращается и отображается также в правиле с автоподнятием.
Ваш код выглядит правильно, но я бы сделал явное повышение и проверил ответ, как я показываю здесь, и это поможет вам точно знать, что вам доступно.
Запустите это приложение здесь: http://ktest.heroku.com/a8x183
и код здесь:
ruleset a8x183 {
meta {
name "Testing Response Headers"
description <<
>>
author "Sam Curren"
logging off
}
dispatch {
// domain "example.com"
}
global {
bodylog = defaction(title, msg){
{
append("body", "<h1>#{title}</h1>");
append("body", "<div>#{msg}</div>");
}
};
}
rule first_rule {
select when pageview ".*" setting ()
pre {
}
http:post("http://httpbin.org/post") setting (res)
with params = {"username":"yahuda","password":"metalcages"}
and autoraise = "kickstand"
and response_headers = ["server"];
fired {
raise explicit event "moon" with res = res;
}
}
rule exp {
select when explicit moon
pre {
res = event:param("res");
res_s = res.encode();
}
bodylog("explicit raise: full response", res_s);
}
rule response {
select when http post label "kickstand"
pre {
server_header = event:param("server");
content = event:param("content");
}
{
bodylog("autoraise: content", content);
bodylog("autoraise: server_header", server_header);
}
}
}