const server = new Hapi.Server({ debug: false });
server.connection();
const updates = [];
const test = function (srv, options, next) {
srv.on('log', (event, tags) => updates.push(event.tags));
srv.on('response', (request) => updates.push('response'));
srv.on('request-error', (request, err) => updates.push('request-error'));
return next();
};
test.attributes = {
name: 'test'
};
server.route({
method: 'GET',
path: '/',
handler: function (request, reply) {
request.server.log('1');
throw new Error('2');
}
});
server.register(test, (err) => {
expect(err).to.not.exist();
server.start((err) => {
expect(err).to.not.exist();
server.inject('/', (res) => {
expect(res.statusCode).to.equal(500);
expect(updates).to.equal([['1'], 'request-error', 'response']);
server.stop(done);
});
});
});
});