+13
-9
@@ -12,8 +12,4 @@ // Load modules | ||
| /* | ||
| Boom(new Error) | ||
| Boom(code, message) | ||
| */ | ||
| exports = module.exports = internals.Boom = function () { | ||
| exports = module.exports = internals.Boom = function (/* (new Error) or (code, message) */) { | ||
@@ -43,3 +39,3 @@ var self = this; | ||
| if (error.message) { | ||
| this.message = error.message | ||
| this.message = error.message; | ||
| } | ||
@@ -58,3 +54,3 @@ } | ||
| if (message) { | ||
| this.message = message | ||
| this.message = message; | ||
| } | ||
@@ -78,3 +74,3 @@ } | ||
| if (this.message) { | ||
| this.response.payload.message = this.message; | ||
| this.response.payload.message = Hoek.escapeHtml(this.message); // Prevent XSS from error message | ||
| } | ||
@@ -181,3 +177,11 @@ }; | ||
| var err = new internals.Boom(500, message); | ||
| err.trace = Hoek.displayStack(1); | ||
| if (data && data.stack) { | ||
| err.trace = data.stack.split('\n'); | ||
| err.outterTrace = Hoek.displayStack(1); | ||
| } | ||
| else { | ||
| err.trace = Hoek.displayStack(1); | ||
| } | ||
| err.data = data; | ||
@@ -184,0 +188,0 @@ err.response.payload.message = 'An internal server error occurred'; // Hide actual error from user |
+1
-1
@@ -11,3 +11,3 @@ Copyright (c) 2012-2013, Walmart. | ||
| documentation and/or other materials provided with the distribution. | ||
| * Neither the name of Eran Hammer nor the | ||
| * Neither the name of Walmart nor the | ||
| names of its contributors may be used to endorse or promote products | ||
@@ -14,0 +14,0 @@ derived from this software without specific prior written permission. |
+0
-0
@@ -0,0 +0,0 @@ test: |
+1
-1
| { | ||
| "name": "boom", | ||
| "description": "HTTP-friendly error objects", | ||
| "version": "0.3.7", | ||
| "version": "0.3.8", | ||
| "author": "Eran Hammer <eran@hueniverse.com> (http://hueniverse.com)", | ||
@@ -6,0 +6,0 @@ "contributors": [], |
+18
-0
@@ -207,2 +207,10 @@ // Load modules | ||
| }); | ||
| it('uses passed in stack if its available', function (done) { | ||
| var error = new Error(); | ||
| error.stack = 'my stack line\nmy second stack line'; | ||
| expect(Boom.internal('my message', error).trace[0]).to.equal('my stack line'); | ||
| done(); | ||
| }); | ||
| }); | ||
@@ -226,4 +234,14 @@ | ||
| }); | ||
| describe('#reformat', function () { | ||
| it('encodes any HTML markup in the response payload', function (done) { | ||
| var boom = new Boom(new Error('<script>alert(1)</script>')); | ||
| expect(boom.response.payload.message).to.not.contain('<script>'); | ||
| done(); | ||
| }); | ||
| }); | ||
| }); | ||
Network access
Supply chain riskThis module accesses the network.
Found 1 instance in 1 package
Network access
Supply chain riskThis module accesses the network.
Found 1 instance in 1 package
44663
2.85%308
5.12%