Skip to content

Instantly share code, notes, and snippets.

@ardeshireshghi
Created May 5, 2016 17:49
Show Gist options
  • Save ardeshireshghi/3539372a13dac9618238e85418a8859f to your computer and use it in GitHub Desktop.
Save ardeshireshghi/3539372a13dac9618238e85418a8859f to your computer and use it in GitHub Desktop.
Custom queryparam parser
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