2014-10-06 61 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(); 

});