Skip to content

Commit

Permalink
fix(network): relax request matching heuristic (#3775)
Browse files Browse the repository at this point in the history
Drop requirement for matching "origin" and "content-type" headers
in requests and request interceptions. This way javascript redirects
that use form submission start working.

Fix #3684.
  • Loading branch information
aslushnikov committed Jan 15, 2019
1 parent e8bb26e commit 04fbbd7
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 2 deletions.
4 changes: 3 additions & 1 deletion lib/NetworkManager.js
Expand Up @@ -651,6 +651,8 @@ class Response {
}
helper.tracePublicAPI(Response);

const IGNORED_HEADERS = new Set(['accept', 'referer', 'x-devtools-emulate-network-conditions-client-id', 'cookie', 'origin', 'content-type']);

/**
* @param {!Protocol.Network.Request} request
* @return {string}
Expand All @@ -677,7 +679,7 @@ function generateRequestHash(request) {
for (let header of headers) {
const headerValue = request.headers[header];
header = header.toLowerCase();
if (header === 'accept' || header === 'referer' || header === 'x-devtools-emulate-network-conditions-client-id' || header === 'cookie')
if (IGNORED_HEADERS.has(header))
continue;
hash.headers[header] = headerValue;
}
Expand Down
2 changes: 1 addition & 1 deletion test/network.spec.js
Expand Up @@ -266,7 +266,7 @@ module.exports.addTests = function({testRunner, expect}) {
expect(response.ok()).toBe(true);
expect(response.remoteAddress().port).toBe(server.PORT);
});
xit('should work when POST is redirected with 302', async({page, server}) => {
it('should work when POST is redirected with 302', async({page, server}) => {
server.setRedirect('/rredirect', '/empty.html');
await page.goto(server.EMPTY_PAGE);
await page.setRequestInterception(true);
Expand Down

0 comments on commit 04fbbd7

Please sign in to comment.