From 7e1829881e055ea33664fafcfdaa21d99018b429 Mon Sep 17 00:00:00 2001 From: Wilco Waaijer Date: Fri, 5 Apr 2024 11:15:00 +0200 Subject: [PATCH] [Fix] `parse`: Disable `decodeDotInKeys` by default to restore previous behavior Fixes #500. --- lib/parse.js | 2 +- test/parse.js | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/parse.js b/lib/parse.js index 40b7d7aa..54f24c12 100644 --- a/lib/parse.js +++ b/lib/parse.js @@ -14,7 +14,7 @@ var defaults = { charset: 'utf-8', charsetSentinel: false, comma: false, - decodeDotInKeys: true, + decodeDotInKeys: false, decoder: utils.decode, delimiter: '&', depth: 5, diff --git a/test/parse.js b/test/parse.js index aad454b5..f63c51cb 100644 --- a/test/parse.js +++ b/test/parse.js @@ -108,6 +108,11 @@ test('parse()', function (t) { { 'name.obj.subobject': { 'first.godly.name': 'John', last: 'Doe' } }, 'with allowDots true and decodeDotInKeys true' ); + st.deepEqual( + qs.parse('name%252Eobj.first=John&name%252Eobj.last=Doe'), + { 'name%2Eobj.first': 'John', 'name%2Eobj.last': 'Doe' }, + 'with allowDots and decodeDotInKeys undefined' + ); st.end(); });