From 936e2d4838b27baa26d0b9e3bcc160b0ee4f58d9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20Bajto=C5=A1?= Date: Mon, 30 Jan 2017 14:48:38 +0100 Subject: [PATCH] Stop adding safeFields to original options arg --- lib/data-builder.js | 4 ++-- test/handler.test.js | 10 ++++++++++ 2 files changed, 12 insertions(+), 2 deletions(-) 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;