diff --git a/.travis.yml b/.travis.yml index 4cee540..20fd86b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,3 +1,3 @@ language: node_js node_js: - - 0.10 \ No newline at end of file + - 0.10 diff --git a/lib/middleware/multipart-parser.js b/lib/middleware/multipart-parser.js index 4ac5fb5..edf9bd2 100644 --- a/lib/middleware/multipart-parser.js +++ b/lib/middleware/multipart-parser.js @@ -2,7 +2,7 @@ var formidable = require('formidable') module.exports = function () { return function (request, response, next) { - if (!request.method.match(/(PUT|POST|OPTIONS)/)) { + if (!request.method.match(/(PUT|POST|OPTIONS)/) || request.headers['content-type'] == undefined) { return next() } if (request.headers['content-type'].match(/multipart\/form-data/)) { diff --git a/lib/middleware/payload-parser.js b/lib/middleware/payload-parser.js index ada8406..c8ec959 100644 --- a/lib/middleware/payload-parser.js +++ b/lib/middleware/payload-parser.js @@ -1,9 +1,9 @@ -var querystring = require('querystring'), +var qs = require('qs'), BufferJoiner = require('bufferjoiner') module.exports = function () { return function (request, response, next) { - if (!request.method.match(/(PUT|POST|OPTIONS)/)) { + if (!request.method.match(/(PUT|POST|OPTIONS)/) || !request.headers['content-type']) { return next() } request.rawBody = new BufferJoiner() @@ -14,7 +14,7 @@ module.exports = function () { request.rawBody = request.rawBody.join() if (!request.headers['content-type']) return if (request.headers['content-type'].match(/application\/x-www-form-urlencoded/)) { - request.body = querystring.parse(request.rawBody.toString('utf8')) + request.body = qs.parse(request.rawBody.toString('utf8')) } else if (request.headers['content-type'].match(/application\/json/)) { try { request.body = JSON.parse(request.rawBody.toString('utf8')) @@ -26,4 +26,4 @@ module.exports = function () { }) next() } -} \ No newline at end of file +} diff --git a/package.json b/package.json index 1158312..3678f6f 100644 --- a/package.json +++ b/package.json @@ -35,4 +35,4 @@ "should": "0.6.1", "request": "2.9.x" } -} \ No newline at end of file +}