使用Hapijs Node框架,我想确保每个请求都存在某个Cookie。如果它不存在,我想创建它。我想这样做,而无需手动将该cookie添加到每个reply
。例如,像这样:Hapijs - 为所有请求添加cookie
server.ext('onPreHandler', function (request, reply) {
console.log(`state: ${JSON.stringify(request.state)}`) // state == null
request.state['my_cookie'] = request.state.my_cookie || 'my data'
return reply.continue();
});
server.route({
method: 'GET',
path: '/',
handler: function(request, reply) {
// includes `my_cookie`
reply(`Cookies: ${JSON.stringify(request.state)}`);
}
})
// cookie does not exist in the browser
并称cookie来回复工作,但需要增加整个应用程序的每个答复。
server.route({
method: 'GET',
path: '/',
handler: function(request, reply) {
reply(`Cookies: ${JSON.stringify(request.state)}`).state('my_cookie', 'my_data');
}
})
// cookie now exists in the browser
如何确保将cookie添加到所有请求中,而无需在每个回复中手动添加cookie?
太棒了,你已经找到了解决方案:) –