fix(fetch): remove content-length from redirected post requests (#9728)

This commit is contained in:
Yury Semikhatsky 2021-10-22 16:52:49 -07:00 committed by GitHub
parent 23aa0be15b
commit d183d364a0
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 19 additions and 0 deletions

View File

@ -226,6 +226,7 @@ export abstract class FetchRequest extends SdkObject {
postData = undefined;
delete headers[`content-encoding`];
delete headers[`content-language`];
delete headers[`content-length`];
delete headers[`content-location`];
delete headers[`content-type`];
}

View File

@ -210,3 +210,21 @@ it('should abort redirected requests when context is disposed', async ({ playwri
expect(result.message).toContain('Request context disposed');
await connectionClosed;
});
it('should remove content-length from reidrected post requests', async ({ playwright, server }) => {
server.setRedirect('/redirect', '/empty.html');
const request = await playwright.request.newContext();
const [result, req1, req2] = await Promise.all([
request.post(server.PREFIX + '/redirect', {
data: {
'foo': 'bar'
}
}),
server.waitForRequest('/redirect'),
server.waitForRequest('/empty.html')
]);
expect(result.status()).toBe(200);
expect(req1.headers['content-length']).toBe('13');
expect(req2.headers['content-length']).toBe(undefined);
await request.dispose();
});