Remove "transfer-encoding" header if "content-length" is set to zero

This commit is contained in:
Tobias Bieniek 2016-02-15 15:43:14 +01:00
parent 9d9fa940cf
commit 5c46e4b754
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() {