Skip to content

Commit

Permalink
feat(firefox) support Request.headers() & Response.headers() (#3993)
Browse files Browse the repository at this point in the history
  • Loading branch information
aslushnikov committed Feb 13, 2019
1 parent 89d0f1e commit 31ae1d6
Show file tree
Hide file tree
Showing 3 changed files with 37 additions and 2 deletions.
14 changes: 14 additions & 0 deletions experimental/puppeteer-firefox/lib/NetworkManager.js
Expand Up @@ -103,6 +103,13 @@ class Request {
this._isNavigationRequest = payload.isNavigationRequest;
this._method = payload.method;
this._resourceType = causeToResourceType[payload.cause] || 'other';
this._headers = {};
for (const {name, value} of payload.headers)
this._headers[name.toLowerCase()] = value;
}

headers() {
return {...this._headers};
}

redirectChain() {
Expand Down Expand Up @@ -141,6 +148,13 @@ class Response {
this._remotePort = payload.remotePort;
this._status = payload.status;
this._statusText = payload.statusText;
this._headers = {};
for (const {name, value} of payload.headers)
this._headers[name.toLowerCase()] = value;
}

headers() {
return {...this._headers};
}

status() {
Expand Down
2 changes: 1 addition & 1 deletion experimental/puppeteer-firefox/package.json
Expand Up @@ -9,7 +9,7 @@
"node": ">=8.9.4"
},
"puppeteer": {
"firefox_revision": "309b4f8466e83360f2045be982d2c61522bcf466"
"firefox_revision": "167f4a537c7d87e967f5c1ce71fc9a100c347c8b"
},
"scripts": {
"install": "node install.js",
Expand Down
23 changes: 22 additions & 1 deletion test/network.spec.js
Expand Up @@ -18,7 +18,7 @@ const fs = require('fs');
const path = require('path');
const utils = require('./utils');

module.exports.addTests = function({testRunner, expect}) {
module.exports.addTests = function({testRunner, expect, CHROME}) {
const {describe, xdescribe, fdescribe, describe_fails_ffox} = testRunner;
const {it, fit, xit, it_fails_ffox} = testRunner;
const {beforeAll, beforeEach, afterAll, afterEach} = testRunner;
Expand Down Expand Up @@ -73,6 +73,27 @@ module.exports.addTests = function({testRunner, expect}) {
});
});

describe('Request.headers', function() {
it('should work', async({page, server}) => {
const response = await page.goto(server.EMPTY_PAGE);
if (CHROME)
expect(response.request().headers()['user-agent']).toContain('Chrome');
else
expect(response.request().headers()['user-agent']).toContain('Firefox');
});
});

describe('Response.headers', function() {
it('should work', async({page, server}) => {
server.setRoute('/empty.html', (req, res) => {
res.setHeader('foo', 'bar');
res.end();
});
const response = await page.goto(server.EMPTY_PAGE);
expect(response.headers()['foo']).toBe('bar');
});
});

describe_fails_ffox('Response.fromCache', function() {
it('should return |false| for non-cached content', async({page, server}) => {
const response = await page.goto(server.EMPTY_PAGE);
Expand Down

0 comments on commit 31ae1d6

Please sign in to comment.