Skip to content

Commit

Permalink
fix: setRequestInterception and setExtraHTTPHeaders not working toget…
Browse files Browse the repository at this point in the history
…her (#1734)

This patch starts lowering header keys while generating request hashes.

Fixes #1729.
  • Loading branch information
yujiosaka authored and aslushnikov committed Jan 10, 2018
1 parent dcc1b24 commit 5843f6f
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 3 deletions.
8 changes: 5 additions & 3 deletions lib/NetworkManager.js
Expand Up @@ -571,10 +571,12 @@ function generateRequestHash(request) {
if (!normalizedURL.startsWith('data:')) {
const headers = Object.keys(request.headers);
headers.sort();
for (const header of headers) {
if (header === 'Accept' || header === 'Referer' || header === 'X-DevTools-Emulate-Network-Conditions-Client-Id')
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')
continue;
hash.headers[header] = request.headers[header];
hash.headers[header] = headerValue;
}
}
return JSON.stringify(hash);
Expand Down
10 changes: 10 additions & 0 deletions test/test.js
Expand Up @@ -1332,6 +1332,16 @@ describe('Page', function() {
const response = await page.goto(server.EMPTY_PAGE);
expect(response.ok()).toBe(true);
});
it('should works with customizing referer headers', async({page, server}) => {
await page.setExtraHTTPHeaders({ 'referer': server.EMPTY_PAGE });
await page.setRequestInterception(true);
page.on('request', request => {
expect(request.headers()['referer']).toBe(server.EMPTY_PAGE);
request.continue();
});
const response = await page.goto(server.EMPTY_PAGE);
expect(response.ok()).toBe(true);
});
it('should be abortable', async({page, server}) => {
await page.setRequestInterception(true);
page.on('request', request => {
Expand Down

0 comments on commit 5843f6f

Please sign in to comment.