diff --git a/lib/data-builder.js b/lib/data-builder.js index 50f6448..40fbfe9 100644 --- a/lib/data-builder.js +++ b/lib/data-builder.js @@ -35,8 +35,8 @@ module.exports = function buildResponseData(err, options) { fillInternalError(data, err); } - options.safeFields = options.safeFields || []; - fillSafeFields(data, err, options.safeFields); + var safeFields = options.safeFields || []; + fillSafeFields(data, err, safeFields); return data; }; diff --git a/test/handler.test.js b/test/handler.test.js index 0636c3f..1145837 100644 --- a/test/handler.test.js +++ b/test/handler.test.js @@ -626,6 +626,16 @@ describe('strong-error-handler', function() { .expect('Content-Type', /^text\/html/, done); }); }); + + it('does not modify "options" argument', function(done) { + var options = {log: false, debug: false}; + givenErrorHandlerForError(new Error(), options); + request.get('/').end(function(err) { + if (err) return done(err); + expect(options).to.eql({log: false, debug: false}); + done(); + }); + }); }); var app, _requestHandler, request;