javascript - 我可以将控制权转移给 Hapi.js 中的另一个处理程序吗?

标签 javascript node.js hapi.js

我在 Hapi.js 中有一个主路由处理程序,我需要根据发送的参数将控制发送到另一个处理程序。

例如,如果我发布一条类型为“twilio”的消息,我想将请求转发到我的 twilio 路由文件中包含的路由处理程序。如何将处理程序转发给另一个处理程序?

最佳答案

答案包含在这里:https://github.com/hapijs/hapi/issues/2515丹尼尔布2.您只需将调用返回到要处理请求的处理程序并将其传递给响应和回复对象即可。

var twilioRoutes = require('./app/routes/twilio.js')(Hapi);
var emailRoutes = require('./app/routes/email.js')(Hapi);

server.route({
  method: 'POST',
  path: '/',
  handler: function(request, reply){
    if (request.payload.type == 'sms'){
      return twilioRoutes.sendSms(request, reply);
    } else if (request.payload.type == 'email'){
      return emailRoutes.sendEmail(request, reply);
    }
    // else
    return reply('Invalid Message Type');
  }
});

关于javascript - 我可以将控制权转移给 Hapi.js 中的另一个处理程序吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29902603/

相关文章:

javascript - 将副本添加到索引模板上的elasticsearch

javascript - Canvas 不在 JS/HTML 中绘制

javascript - 路由如何在带有可选参数的 Express 中工作?

node.js - 将 Edge.JS 与 Electron 结合使用失败

regex - 错误 : pattern must be a RegExp

javascript - 隐藏滚动条导致body向上滚动

javascript - 在 OnClick 中阻止 OnServerClick?

javascript - NodeJS Passport 本地身份验证不起作用

javascript - hapi.js 实验室测试,server.js 始终返回 404 状态

node.js - 在 Hapijs 中缺少状态代码为 401 的身份验证?