Skip to content

Commit 28c4acb

Browse files
committed
fix #133
1 parent 48d5718 commit 28c4acb

File tree

2 files changed

+17
-1
lines changed

2 files changed

+17
-1
lines changed

index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ class API {
2626
this._callbackName = props && props.callback ? props.callback.trim() : 'callback'
2727
this._mimeTypes = props && props.mimeTypes && typeof props.mimeTypes === 'object' ? props.mimeTypes : {}
2828
this._serializer = props && props.serializer && typeof props.serializer === 'function' ? props.serializer : JSON.stringify
29-
this._errorHeaderWhitelist = props && (props.errorHeaderWhitelist || []).map(header => header.toLowerCase())
29+
this._errorHeaderWhitelist = props && Array.isArray(props.errorHeaderWhitelist) ? props.errorHeaderWhitelist.map(header => header.toLowerCase()) : []
3030

3131
// Set sampling info
3232
this._sampleCounts = {}

test/errorHandling.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ const api3 = require('../index')({ version: 'v1.0' })
1010
const api4 = require('../index')({ version: 'v1.0' })
1111
const api5 = require('../index')({ version: 'v1.0', logger: { access: 'never' }})
1212
const api_errors = require('../index')({ version: 'v1.0' })
13+
const api6 = require('../index')() // no props
1314

1415
class CustomError extends Error {
1516
constructor(message,code) {
@@ -172,6 +173,10 @@ api_errors.get('/responseError', (req,res) => {
172173
res.redirect(310,'http://www.google.com')
173174
})
174175

176+
api6.get('/testError', function(req,res) {
177+
res.error('This is a test error message')
178+
})
179+
175180

176181
/******************************************************************************/
177182
/*** BEGIN TESTS ***/
@@ -320,6 +325,17 @@ describe('Error Handling Tests:', function() {
320325
expect(_log.msg).to.equal('This is a custom error')
321326
}) // end it
322327

328+
329+
it('Error, no props', async function() {
330+
let _log
331+
let _event = Object.assign({},event,{ path: '/testError'})
332+
let logger = console.log
333+
console.log = log => { try { _log = JSON.parse(log) } catch(e) { _log = log } }
334+
let result = await new Promise(r => api6.run(_event,{},(e,res) => { r(res) }))
335+
console.log = logger
336+
expect(result).to.deep.equal({ multiValueHeaders: { 'content-type': ['application/json'] }, statusCode: 500, body: '{"error":"This is a test error message"}', isBase64Encoded: false })
337+
}) // end it
338+
323339
})
324340

325341
}) // end ERROR HANDLING tests

0 commit comments

Comments
 (0)