Merge pull request #961 from Turbo87/transfer-encoding-fix

Remove "transfer-encoding" header if "content-length" is set to zero
This commit is contained in:
Jarrett Cruger 2016-02-15 10:35:32 -05:00
commit d19be83858
2 changed files with 13 additions and 0 deletions

View File

@ -32,6 +32,7 @@ web_o = Object.keys(web_o).map(function(pass) {
if((req.method === 'DELETE' || req.method === 'OPTIONS')
&& !req.headers['content-length']) {
req.headers['content-length'] = '0';
delete req.headers['transfer-encoding'];
}
},

View File

@ -22,6 +22,18 @@ describe('lib/http-proxy/passes/web.js', function() {
webPasses.deleteLength(stubRequest, {}, {});
expect(stubRequest.headers['content-length']).to.eql('0');
});
it('should remove `transfer-encoding` from empty DELETE requests', function() {
var stubRequest = {
method: 'DELETE',
headers: {
'transfer-encoding': 'chunked'
}
};
webPasses.deleteLength(stubRequest, {}, {});
expect(stubRequest.headers['content-length']).to.eql('0');
expect(stubRequest.headers).to.not.have.key('transfer-encoding');
});
});
describe('#timeout', function() {