我在 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');
}
});
我是一名优秀的程序员,十分优秀!