New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

hapi-boombox

Package Overview
Dependencies
Maintainers
1
Versions
40
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

hapi-boombox - npm Package Compare versions

Comparing version 1.1.4 to 1.1.5

150

lib/index.js

@@ -5,3 +5,3 @@ var Boom = require('boom');

var internals = {
tags: ['hapi-boombox']
tags: ['hapi-boombox']
};

@@ -12,50 +12,50 @@

var explosion = null;
var explosion = null;
// convert && return error by default
if (convert === null || convert === undefined) {
convert = true;
}
// convert && return error by default
if (convert === null || convert === undefined) {
convert = true;
}
if (returnError === null || returnError === undefined) {
returnError = true;
}
if (returnError === null || returnError === undefined) {
returnError = true;
}
if (convert) {
if (typeof error === 'string') {
var data = internals.errors[error];
if (convert) {
if (typeof error === 'string') {
var data = internals.errors[error];
if (!data) {
explosion = Boom.badImplementation(error + ' is not a valid error key');
} else {
if (returnError) {
var customBoom = Boom[data.type]();
if (!data) {
explosion = Boom.badImplementation(error + ' is not a valid error key');
} else {
if (returnError) {
var customBoom = Boom[data.type]();
explosion = new Error(data.message);
explosion = new Error(data.message);
Boom.wrap(explosion, customBoom.output.statusCode, data.message);
} else {
explosion = data.message;
}
}
} else if (error instanceof Error) {
Boom.wrap(error, 400);
Boom.wrap(explosion, customBoom.output.statusCode, data.message);
} else {
explosion = data.message;
}
}
} else if (error instanceof Error) {
Boom.wrap(error, 400);
explosion = error;
} else if (returnError) {
explosion = new Error(error);
} else {
explosion = error;
}
} else if (returnError) {
explosion = new Error(error);
} else {
explosion = error;
}
explosion = error;
} else if (returnError) {
explosion = new Error(error);
} else {
explosion = error;
}
} else if (returnError) {
explosion = new Error(error);
} else {
explosion = error;
}
if (returnError) {
return explosion;
}
if (returnError) {
return explosion;
}
return explosion.message || explosion;
return explosion.message || explosion;
};

@@ -65,52 +65,52 @@

if (!options.hasOwnProperty('errors')) {
throw new Error('Options must include errors object');
}
if (!options.hasOwnProperty('errors')) {
throw new Error('Options must include errors object');
}
internals.errors = options.errors;
internals.errors = options.errors;
server.decorate('reply', 'boom', function (error, returnError, convert) {
server.decorate('reply', 'boom', function (error, returnError, convert) {
var explosion = internals.boom(error, returnError, convert);
var explosion = internals.boom(error, returnError, convert);
var log = {
originalError: error,
boomboxError: explosion,
data: {
path: this.request.url.path,
query: this.request.query,
method: this.request.method,
payload: this.request.payload,
headers: this.request.headers,
info: this.request.info
}
};
var log = {
originalError: error,
boomboxError: explosion,
data: {
path: this.request.url.path,
query: this.request.query,
method: this.request.method,
payload: this.request.payload,
headers: this.request.headers,
info: this.request.info
}
};
if (this.request.auth.credentials) {
log.data.credentials = {
id: this.request.auth.credentials.id,
name: this.request.auth.credentials.name
};
}
if (this.request.auth.credentials) {
log.data.credentials = {
id: this.request.auth.credentials.id,
name: this.request.auth.credentials.name
};
}
this.response(explosion);
return server.log(internals.tags, log);
});
this.response(explosion);
return server.log(internals.tags, log);
});
server.decorate('server', 'boom', function (error, returnError, convert) {
server.decorate('server', 'boom', function (error, returnError, convert) {
var explosion = internals.boom(error, returnError, convert);
var explosion = internals.boom(error, returnError, convert);
server.log(internals.tags, explosion.output || explosion);
server.log(internals.tags, explosion.output || explosion);
return explosion;
});
return explosion;
});
server.log(internals.tags, 'Registered reply.boom() and server.boom()');
server.log(internals.tags, 'Registered reply.boom() and server.boom()');
return next();
return next();
};
exports.register.attributes = {
pkg: require('../package.json')
pkg: require('../package.json')
};
{
"name": "hapi-boombox",
"version": "1.1.4",
"version": "1.1.5",
"description": "Boom error wrapper",

@@ -5,0 +5,0 @@ "main": "index.js",

@@ -14,182 +14,182 @@ var Lab = require('lab');

it('Registers', function (done) {
it('Registers', function (done) {
var server = new Hapi.Server();
server.connection();
var server = new Hapi.Server();
server.connection();
server.register({
register: require('../'),
options: { errors: errors }
}, function (err) {
server.register({
register: require('../'),
options: { errors: errors }
}, function (err) {
expect(err).to.not.exist();
expect(err).to.not.exist();
server.start(function(err) {
server.start(function(err) {
expect(err).to.not.exist();
expect(err).to.not.exist();
done();
});
});
});
done();
});
});
});
it('Throws when not passed errors key in options', function (done) {
it('Throws when not passed errors key in options', function (done) {
var server = new Hapi.Server();
server.connection();
var server = new Hapi.Server();
server.connection();
try {
try {
server.register({ register: require('../') }, function () {});
} catch (e) {
expect(e).to.exist();
server.register({ register: require('../') }, function () {});
} catch (e) {
expect(e).to.exist();
done();
}
});
done();
}
});
it('Throws when not passed errors object', function (done) {
it('Throws when not passed errors object', function (done) {
var server = new Hapi.Server();
server.connection();
var server = new Hapi.Server();
server.connection();
try {
try {
server.register({
register: require('../'),
options: 'test'
}, function () {});
server.register({
register: require('../'),
options: 'test'
}, function () {});
} catch (e) {
expect(e).to.exist();
} catch (e) {
expect(e).to.exist();
done();
}
});
done();
}
});
it('Registers server method', function (done) {
it('Registers server method', function (done) {
var server = new Hapi.Server();
server.connection();
var server = new Hapi.Server();
server.connection();
server.register({
register: require('../'),
options: { errors: errors }
}, function (err) {
server.register({
register: require('../'),
options: { errors: errors }
}, function (err) {
expect(err).to.not.exist();
expect(err).to.not.exist();
expect(server.boom).to.exist();
expect(server.boom).to.exist();
done();
});
});
done();
});
});
it('Registers reply method', function (done) {
it('Registers reply method', function (done) {
var server = new Hapi.Server();
server.connection();
var server = new Hapi.Server();
server.connection();
server.register({
register: require('../'),
options: { errors: errors }
}, function (err) {
server.register({
register: require('../'),
options: { errors: errors }
}, function (err) {
expect(err).to.not.exist();
expect(err).to.not.exist();
server.route([{
method: 'GET',
path: '/test',
config: {
handler: function (request, reply) {
server.route([{
method: 'GET',
path: '/test',
config: {
handler: function (request, reply) {
expect(reply.boom).to.exist();
expect(reply.boom).to.exist();
// set credentials for test
request.auth.credentials = {
id: 1,
name: 'Box'
};
// set credentials for test
request.auth.credentials = {
id: 1,
name: 'Box'
};
return reply.boom(new Error('error'));
}
}
}]);
return reply.boom(new Error('error'));
}
}
}]);
server.inject({
method: 'GET',
url: '/test'
}, function (response) {
server.inject({
method: 'GET',
url: '/test'
}, function (response) {
expect(response.result).to.deep.equal({
statusCode: 400,
error: 'Bad Request',
message: 'error'
});
expect(response.result).to.deep.equal({
statusCode: 400,
error: 'Bad Request',
message: 'error'
});
done();
});
});
});
done();
});
});
});
it('Registers reply method and also logs not converted errors', function (done) {
it('Registers reply method and also logs not converted errors', function (done) {
var server = new Hapi.Server();
server.connection();
var server = new Hapi.Server();
server.connection();
server.register({
register: require('../'),
options: { errors: errors }
}, function (err) {
server.register({
register: require('../'),
options: { errors: errors }
}, function (err) {
expect(err).to.not.exist();
expect(err).to.not.exist();
server.route([{
method: 'GET',
path: '/test',
config: {
handler: function (request, reply) {
server.route([{
method: 'GET',
path: '/test',
config: {
handler: function (request, reply) {
expect(reply.boom).to.exist();
expect(reply.boom).to.exist();
return reply.boom(new Error('error'), true, false);
}
}
}]);
return reply.boom(new Error('error'), true, false);
}
}
}]);
server.inject({
method: 'GET',
url: '/test'
}, function (response) {
server.inject({
method: 'GET',
url: '/test'
}, function (response) {
expect(response.result).to.deep.equal({
statusCode: 500,
error: 'Internal Server Error',
message: 'An internal server error occurred'
});
expect(response.result).to.deep.equal({
statusCode: 500,
error: 'Internal Server Error',
message: 'An internal server error occurred'
});
done();
});
});
});
done();
});
});
});
it('Accepts null as options and defaults to true', function (done) {
it('Accepts null as options and defaults to true', function (done) {
var server = new Hapi.Server();
server.connection();
var server = new Hapi.Server();
server.connection();
server.register({
register: require('../'),
options: { errors: errors }
}, function (err) {
server.register({
register: require('../'),
options: { errors: errors }
}, function (err) {
expect(err).to.not.exist();
expect(err).to.not.exist();
var error = server.boom(new Error(), null, null);
var error = server.boom(new Error(), null, null);
expect(error).to.exist();
expect(error).to.exist();
done();
});
});
done();
});
});

@@ -201,161 +201,161 @@ });

var server = new Hapi.Server();
var server = new Hapi.Server();
lab.before(function (done) {
lab.before(function (done) {
server.connection();
server.connection();
server.register({
register: require('../'),
options: { errors: require('./config/errors.json') }
}, function (err) {
server.register({
register: require('../'),
options: { errors: require('./config/errors.json') }
}, function (err) {
expect(err).to.not.exist();
expect(err).to.not.exist();
return done();
});
});
return done();
});
});
it('Returns the right error for the provided key', function (done) {
it('Returns the right error for the provided key', function (done) {
var error = server.boom('ERROR_KEY_1');
var error = server.boom('ERROR_KEY_1');
expect(error.isBoom).to.equal(true);
expect(error.output.payload).to.deep.equal({
statusCode: 405,
error: 'Method Not Allowed',
message: 'Error one'
});
expect(error.isBoom).to.equal(true);
expect(error.output.payload).to.deep.equal({
statusCode: 405,
error: 'Method Not Allowed',
message: 'Error one'
});
done();
});
done();
});
it('Returns the right error for a custom error', function (done) {
it('Returns the right error for a custom error', function (done) {
var error = server.boom(new Error('Custom error'));
var error = server.boom(new Error('Custom error'));
expect(error.isBoom).to.equal(true);
expect(error.output.payload).to.deep.equal({
statusCode: 400,
error: 'Bad Request',
message: 'Custom error'
});
expect(error.isBoom).to.equal(true);
expect(error.output.payload).to.deep.equal({
statusCode: 400,
error: 'Bad Request',
message: 'Custom error'
});
done();
});
done();
});
it('Does not return an error when told to', function (done) {
it('Does not return an error when told to', function (done) {
var error = server.boom(new Error('Custom error'), false);
var error = server.boom(new Error('Custom error'), false);
expect(error).to.equal('Custom error');
expect(error).to.equal('Custom error');
return done();
});
return done();
});
it('Does not convert the error when told to', function (done) {
it('Does not convert the error when told to', function (done) {
var error = server.boom('Custom error', false, false);
var error = server.boom('Custom error', false, false);
expect(error).to.equal('Custom error');
expect(error).to.equal('Custom error');
return done();
});
return done();
});
it('Returns message when given Error and returnError = false && convert = true', function (done) {
it('Returns message when given Error and returnError = false && convert = true', function (done) {
var error = server.boom(new Error('ERROR_KEY_1'), false, true);
var error = server.boom(new Error('ERROR_KEY_1'), false, true);
expect(error).to.equal('ERROR_KEY_1');
expect(error).to.equal('ERROR_KEY_1');
return done();
});
return done();
});
it('Returns message corresponding with given key with returnError = false && convert = true', function (done) {
it('Returns message corresponding with given key with returnError = false && convert = true', function (done) {
var error = server.boom('ERROR_KEY_1', false, true);
var error = server.boom('ERROR_KEY_1', false, true);
expect(error).to.equal('Error one');
expect(error).to.equal('Error one');
return done();
});
return done();
});
it('Returns error corresponding with given key with returnError = true && convert = false', function (done) {
it('Returns error corresponding with given key with returnError = true && convert = false', function (done) {
var error = server.boom('ERROR_KEY_1', true, false);
var error = server.boom('ERROR_KEY_1', true, false);
expect(error).to.be.an.instanceOf(Error);
expect(error.message).to.equal('ERROR_KEY_1');
expect(error).to.be.an.instanceOf(Error);
expect(error.message).to.equal('ERROR_KEY_1');
return done();
});
return done();
});
it('Returns error given Error and returnError = true && convert = false', function (done) {
it('Returns error given Error and returnError = true && convert = false', function (done) {
var error = server.boom(new Error('Custom error'), true, false);
var error = server.boom(new Error('Custom error'), true, false);
expect(error).to.be.an.instanceOf(Error);
expect(error.message).to.equal('Error: Custom error');
expect(error).to.be.an.instanceOf(Error);
expect(error.message).to.equal('Error: Custom error');
return done();
});
return done();
});
it('Returns Internal server error if trying to convert non existing key', function (done) {
it('Returns Internal server error if trying to convert non existing key', function (done) {
var error = server.boom('ERROR_KEY_INKNOWN');
var error = server.boom('ERROR_KEY_INKNOWN');
expect(error.isBoom).to.equal(true);
expect(error.output.payload).to.deep.equal({
statusCode: 500,
error: 'Internal Server Error',
message: 'An internal server error occurred'
});
expect(error.isBoom).to.equal(true);
expect(error.output.payload).to.deep.equal({
statusCode: 500,
error: 'Internal Server Error',
message: 'An internal server error occurred'
});
return done();
});
return done();
});
it('Returns same Boom error if given Boom error', function (done) {
it('Returns same Boom error if given Boom error', function (done) {
var error = server.boom(Boom.badRequest());
var error = server.boom(Boom.badRequest());
expect(error.isBoom).to.equal(true);
expect(error.output.payload).to.deep.equal({
statusCode: 400,
error: 'Bad Request'
});
expect(error.isBoom).to.equal(true);
expect(error.output.payload).to.deep.equal({
statusCode: 400,
error: 'Bad Request'
});
return done();
});
return done();
});
it('Returns Boom error if given Error', function (done) {
it('Returns Boom error if given Error', function (done) {
var error = server.boom(new Error());
var error = server.boom(new Error());
expect(error.isBoom).to.equal(true);
expect(error.output.payload).to.deep.equal({
statusCode: 400,
error: 'Bad Request'
});
expect(error.isBoom).to.equal(true);
expect(error.output.payload).to.deep.equal({
statusCode: 400,
error: 'Bad Request'
});
return done();
});
return done();
});
it('Returns error from object', function (done) {
it('Returns error from object', function (done) {
var error = server.boom({ foo: 'bar' });
var error = server.boom({ foo: 'bar' });
expect(error).to.be.an.instanceOf(Error);
expect(error).to.be.an.instanceOf(Error);
return done();
});
return done();
});
it('Tries to convert but does not return error', function (done) {
it('Tries to convert but does not return error', function (done) {
var error = server.boom({ foo: 'bar' }, false, true);
var error = server.boom({ foo: 'bar' }, false, true);
expect(error).to.deep.equal({ foo: 'bar' });
expect(error).to.deep.equal({ foo: 'bar' });
return done();
});
return done();
});
});
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc