From 824003a2909b409cd65de95d7adf88096a1ad71e Mon Sep 17 00:00:00 2001 From: "khushboo.katta" Date: Tue, 8 Jan 2019 17:06:07 +0530 Subject: [PATCH] added the code for the query parameter decoding, passed the custom decoder function to the qs module parse function. --- lib/helpers.js | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/lib/helpers.js b/lib/helpers.js index 34384ad..38c22f9 100644 --- a/lib/helpers.js +++ b/lib/helpers.js @@ -8,11 +8,24 @@ var qs = require('qs'); var parseUrl = require('parseurl'); var debug = require('debug')('swagger'); + +// custom decoder function +var decode = function (str) { + try { + return decodeURIComponent(str); + } catch (e) { + return str; + } +}; + +//qs module options +var qsOptions = { decoder : decode}; + // side-effect: stores in query property on req function queryString(req) { if (!req.query) { var url = parseUrl(req); - req.query = (url.query) ? qs.parse(url.query) : {}; + req.query = (url.query) ? qs.parse(url.query, qsOptions) : {}; } return req.query; }