In express I have something like this:
router.get('/foo', middlewareFunction, function (req, res) {
res.send('YoYo');
});
What is the form for a middleware in hapi? When I have this:
server.route({
method: 'GET',
path: '/foo',
handler: function (request, reply) {
reply('YoYo');
}
})
The route pre option allows defining such pre-handler methods, please have a look at http://hapijs.com/api#route-prerequisites
const Hapi = require('hapi');
const server = new Hapi.Server();
server.connection({ port: 80 });
const pre1 = function (request, reply) {
return reply('Hello');
};
const pre2 = function (request, reply) {
return reply('World');
};
const pre3 = function (request, reply) {
return reply(request.pre.m1 + ' ' + request.pre.m2);
};
server.route({
method: 'GET',
path: '/',
config: {
pre: [
[
// m1 and m2 executed in parallel
{ method: pre1, assign: 'm1' },
{ method: pre2, assign: 'm2' }
],
{ method: pre3, assign: 'm3' },
],
handler: function (request, reply) {
return reply(request.pre.m3 + '\n');
}
}
});