diff --git a/lib/servicerouter.js b/lib/servicerouter.js index f44b7a4..ae4a219 100644 --- a/lib/servicerouter.js +++ b/lib/servicerouter.js @@ -779,7 +779,16 @@ class ServiceRouter { headers: Object.assign({}, request.headers) }; - message.body = Utils.safeJSONParse(body) || {}; + if (request.headers['content-type'] === 'application/x-www-form-urlencoded') { + message.headers['content-type'] = 'application/json'; + try { + message.body = querystring.parse(body.toString()); + } catch (e) { + message.body = {}; + } + } else { + message.body = Utils.safeJSONParse(body) || {}; + } if (request.headers['authorization']) { message.authorization = request.headers['authorization']; diff --git a/package.json b/package.json index f99667f..221e3bb 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "hydra-router", - "version": "1.6.20", + "version": "1.7.0", "description": "A service which routes requests to hydra-based microservices", "author": { "name": "Carlos Justiniano",