-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Closed
Labels
bugBug or defectBug or defect
Description
I've this issue when using Promises
on a prerequisite handler and throwing an error from a handler.
var Promise = require('promise');
exports.register = function (server, options, next) {
var pre = function (request, reply) {
return reply(Promise.resolve('value'));
};
server.route({
method: 'GET',
path: '/bar',
config: {
pre: [
{ method: pre, assign: 'pre' }
],
handler: function (request, reply) {
// throws here will get swallowed
throw new Error('will timeout');
return reply();
}
}
});
return next();
};
exports.register.attributes = {
pkg: require('./package.json')
};
Replying with a literal value on the pre()
does it make it work. Using Promises on the handler will too, but it sounds more like a workaround to me.
Here's the dependencies I'm using:
[email protected] node_modules/code
└── [email protected]
[email protected] node_modules/promise
└── [email protected]
[email protected] node_modules/hapi
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected] ([email protected])
├── [email protected] ([email protected], [email protected], [email protected])
├── [email protected] ([email protected], [email protected])
└── [email protected] ([email protected])
[email protected] node_modules/lab
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected] ([email protected])
├── [email protected] ([email protected])
├── [email protected] ([email protected], [email protected], [email protected], [email protected])
├── [email protected] ([email protected], [email protected], [email protected], [email protected])
├── [email protected] ([email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected], [email protected])
└── [email protected] ([email protected], [email protected], [email protected])
I can upload an small repo with a few tests if it helps.
Metadata
Metadata
Assignees
Labels
bugBug or defectBug or defect