diff --git a/lib/util/urltils.js b/lib/util/urltils.js index 613153b859..75b0a1d9c8 100644 --- a/lib/util/urltils.js +++ b/lib/util/urltils.js @@ -22,7 +22,9 @@ module.exports = { if (config && config.error_collector && config.error_collector.ignore_status_codes) { - codes = config.error_collector.ignore_status_codes; + codes = config.error_collector.ignore_status_codes.map(function(code) { + return parseInt(code, 10); + }); } return code >= 400 && codes.indexOf(code) === -1; }, diff --git a/test/urltils.test.js b/test/urltils.test.js index a856257fc3..900db1c740 100644 --- a/test/urltils.test.js +++ b/test/urltils.test.js @@ -123,6 +123,16 @@ describe("NR URL utilities", function () { it("should mark a request for enhanced calm (brah) as an error", function () { return expect(urltils.isError(config, 420)).true; }); + + it("should handle ignore_status_codes defined as strings", function () { + var config = {error_collector : {ignore_status_codes : ['404', '401']}}; + return expect(urltils.isError(config, 401)).false; + }); + + it("should handle ignore_status_codes defined as integers", function () { + var config = {error_collector : {ignore_status_codes : [404, 401]}}; + return expect(urltils.isError(config, 401)).false; + }); }); describe("copying parameters from a query hash", function () {