Skip to content

Commit d19be83

Browse files
committed
Merge pull request http-party#961 from Turbo87/transfer-encoding-fix
Remove "transfer-encoding" header if "content-length" is set to zero
2 parents 9d9fa94 + 5c46e4b commit d19be83

File tree

2 files changed

+13
-0
lines changed

2 files changed

+13
-0
lines changed

lib/http-proxy/passes/web-incoming.js

+1
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,7 @@ web_o = Object.keys(web_o).map(function(pass) {
3232
if((req.method === 'DELETE' || req.method === 'OPTIONS')
3333
&& !req.headers['content-length']) {
3434
req.headers['content-length'] = '0';
35+
delete req.headers['transfer-encoding'];
3536
}
3637
},
3738

test/lib-http-proxy-passes-web-incoming-test.js

+12
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,18 @@ describe('lib/http-proxy/passes/web.js', function() {
2222
webPasses.deleteLength(stubRequest, {}, {});
2323
expect(stubRequest.headers['content-length']).to.eql('0');
2424
});
25+
26+
it('should remove `transfer-encoding` from empty DELETE requests', function() {
27+
var stubRequest = {
28+
method: 'DELETE',
29+
headers: {
30+
'transfer-encoding': 'chunked'
31+
}
32+
};
33+
webPasses.deleteLength(stubRequest, {}, {});
34+
expect(stubRequest.headers['content-length']).to.eql('0');
35+
expect(stubRequest.headers).to.not.have.key('transfer-encoding');
36+
});
2537
});
2638

2739
describe('#timeout', function() {

0 commit comments

Comments
 (0)