对于我的api,我需要为所有路由都有md5结果,所以我使用:
server.ext('onPreResponse', function(request, reply) {
var content = request.response.source;
var code = request.response.statusCode;
if(typeof request.headers.md5 != 'undefined' && code == 200) {
content = md5(content);
}
if(!DEBUG && code != 200){
content = "Error";
}
reply(content).code(code);
});
如果回复是404错误,则request.response
没有response.statusCode
...
我可以用以下方式处理:
if(typeof code == 'undefined'){
code = 404;
}
但是当我尝试查看使用Lout生成的文档时,我有:
如何正确转发代码消息?
答案 0 :(得分:1)
您可能希望使用reply.continue()
而不是reply().code()
这里回答了一个非常类似的问题:https://github.com/hapijs/discuss/issues/103