diff --git a/app/steps/sendProxyRequest.js b/app/steps/sendProxyRequest.js index 6764ecfb..0efbca74 100644 --- a/app/steps/sendProxyRequest.js +++ b/app/steps/sendProxyRequest.js @@ -50,7 +50,7 @@ function sendProxyRequest(Container) { if (bodyContent.length) { var body = bodyContent; var contentType = proxyReq.getHeader('Content-Type'); - if (contentType === 'x-www-form-urlencoded' || contentType === 'application/x-www-form-urlencoded') { + if (contentType && contentType.match(/x-www-form-urlencoded/)) { try { var params = JSON.parse(body); body = Object.keys(params).map(function(k) { return k + '=' + params[k]; }).join('&'); diff --git a/test/getBody.js b/test/getBody.js index 7ef58bfe..75a6e89c 100644 --- a/test/getBody.js +++ b/test/getBody.js @@ -30,6 +30,7 @@ describe('when proxy request is a GET', function () { var testCases = [ { name: 'form encoded', encoding: 'application/x-www-form-urlencoded' }, + { name: 'form encoded with charset', encoding: 'application/x-www-form-urlencoded; charset=UTF-8' }, // #488 { name: 'JSON encoded', encoding: 'application/json' } ];