Hapijs onPreResponse,转发回复

时间:2015-04-23 08:40:30

标签: javascript node.js hapijs

对于我的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生成的文档时,我有: some html code

如何正确转发代码消息?

1 个答案:

答案 0 :(得分:1)

您可能希望使用reply.continue()而不是reply().code()

这里回答了一个非常类似的问题:https://github.com/hapijs/discuss/issues/103