2014-10-06 58 views
4

在hapi处理程序中,我尝试在发送回视图之前在代码中设置我的响应标题。hapi在发送响应之前设置标题

reply().header('cache-control', 'no-cache'); 

{....} 

reply.view('myView', myContext); 

您是否必须使用hold方法?在那种情况下,如何在渲染视图时重用响应?

感谢您的帮助。

回答

0

您应该能够使用

var response = request.view('myView', myContext).header('cache-control: no-cache').hold(); 

// other stuff 

response.send(); 
+0

事情是在我想要设置我的标题我没有myContext呢。这就是为什么我想通过设置标题的前面和后面发送回来来准备我的回应 – CarolineBda 2014-10-06 13:04:14

4

可以使用的保持方法如下

reply.hold(); 
reply.view('your-view'); 

甚至

reply.view('your-view').hold(); 
reply.send(); 

回复举行,直到调用。 send()方法,因此:

reply().header('cache-control', 'no-cache').hold(); 
... 
reply().send(); 

可能是你在找什么。

0

好了,所以这是我做了什么(不知道这是最好的解决方案):

var response;  
{...} 
response = reply().header('cache-control', 'no-cache').hold(); 
{...} 
response = response || reply.view('summary', summary).hold(); 
response.send(); 

也就是说每个
目前高致病性禽流感测试6.6.0响应工作

5

套头

server.ext('onPreResponse', function(request, reply) { 

request.response.header('X-API-VERSION', '0.0.1'); 

reply(); 

});