Created
May 5, 2016 17:49
-
-
Save ardeshireshghi/3539372a13dac9618238e85418a8859f to your computer and use it in GitHub Desktop.
Custom queryparam parser
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var http = require('http'); | |
var qs = require('querystring'); | |
function parseSerialisedQueryParam(request, paramName, delimiter) { | |
delimiter = delimiter || ','; | |
var url = request.url; | |
var rawQuery = require('url').parse(url).query; | |
var parsedQuery = qs.parse(rawQuery, null, null, { | |
decodeURIComponent: function(param) { | |
return param; | |
} | |
}); | |
console.log(typeof parsedQuery[paramName]) | |
// console.log(parsedQuery[paramName].join(delimiter)); | |
return (paramName in parsedQuery) ? | |
parsedQuery[paramName].split(delimiter).map(function decodeItem(item) { | |
return decodeURIComponent(item); | |
}) : | |
null; | |
} | |
http.createServer(function(request, response) { | |
var headers = request.headers; | |
var method = request.method; | |
var parsedQueryParam = parseSerialisedQueryParam(request, 'b'); | |
response.end(JSON.stringify(parsedQueryParam)); | |
}).listen(8080); // Activates this server, listening on port 8080. | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment