我可以在快乐.js中将控制权转移给另一个处理程序吗?



我有一个主路由处理程序.js我需要根据发送的参数将控制权发送给另一个处理程序。

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

答案包含在这里:由danielb2 https://github.com/hapijs/hapi/issues/2515。您只需将调用返回到要处理请求的处理程序,并向其传递响应和回复对象。

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');
  }
});

最新更新