mirror of
https://github.com/puppeteer/puppeteer
synced 2024-06-14 14:02:48 +00:00
feat(firefox): support Request.postData (#3999)
This commit is contained in:
parent
13224a761e
commit
fbf36438e8
@ -99,6 +99,7 @@ class Request {
|
|||||||
this._id = payload.requestId;
|
this._id = payload.requestId;
|
||||||
this._redirectChain = redirectChain;
|
this._redirectChain = redirectChain;
|
||||||
this._url = payload.url;
|
this._url = payload.url;
|
||||||
|
this._postData = payload.postData;
|
||||||
this._response = null;
|
this._response = null;
|
||||||
this._isNavigationRequest = payload.isNavigationRequest;
|
this._isNavigationRequest = payload.isNavigationRequest;
|
||||||
this._method = payload.method;
|
this._method = payload.method;
|
||||||
@ -108,6 +109,10 @@ class Request {
|
|||||||
this._headers[name.toLowerCase()] = value;
|
this._headers[name.toLowerCase()] = value;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
postData() {
|
||||||
|
return this._postData;
|
||||||
|
}
|
||||||
|
|
||||||
headers() {
|
headers() {
|
||||||
return {...this._headers};
|
return {...this._headers};
|
||||||
}
|
}
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
"node": ">=8.9.4"
|
"node": ">=8.9.4"
|
||||||
},
|
},
|
||||||
"puppeteer": {
|
"puppeteer": {
|
||||||
"firefox_revision": "ac50a00d0cb3522407d3c84ec85360cbc4d14c9c"
|
"firefox_revision": "32fc518d9228fd0115c0a4fd4bd341780bdba2fc"
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"install": "node install.js",
|
"install": "node install.js",
|
||||||
|
@ -140,6 +140,22 @@ module.exports.addTests = function({testRunner, expect, CHROME}) {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe('Request.postData', function() {
|
||||||
|
it('should work', async({page, server}) => {
|
||||||
|
await page.goto(server.EMPTY_PAGE);
|
||||||
|
server.setRoute('/post', (req, res) => res.end());
|
||||||
|
let request = null;
|
||||||
|
page.on('request', r => request = r);
|
||||||
|
await page.evaluate(() => fetch('./post', { method: 'POST', body: JSON.stringify({foo: 'bar'})}));
|
||||||
|
expect(request).toBeTruthy();
|
||||||
|
expect(request.postData()).toBe('{"foo":"bar"}');
|
||||||
|
});
|
||||||
|
it('should be |undefined| when there is no post data', async({page, server}) => {
|
||||||
|
const response = await page.goto(server.EMPTY_PAGE);
|
||||||
|
expect(response.request().postData()).toBe(undefined);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
describe('Network Events', function() {
|
describe('Network Events', function() {
|
||||||
it('Page.Events.Request', async({page, server}) => {
|
it('Page.Events.Request', async({page, server}) => {
|
||||||
const requests = [];
|
const requests = [];
|
||||||
@ -153,15 +169,6 @@ module.exports.addTests = function({testRunner, expect, CHROME}) {
|
|||||||
expect(requests[0].frame() === page.mainFrame()).toBe(true);
|
expect(requests[0].frame() === page.mainFrame()).toBe(true);
|
||||||
expect(requests[0].frame().url()).toBe(server.EMPTY_PAGE);
|
expect(requests[0].frame().url()).toBe(server.EMPTY_PAGE);
|
||||||
});
|
});
|
||||||
it_fails_ffox('Page.Events.Request should report post data', async({page, server}) => {
|
|
||||||
await page.goto(server.EMPTY_PAGE);
|
|
||||||
server.setRoute('/post', (req, res) => res.end());
|
|
||||||
let request = null;
|
|
||||||
page.on('request', r => request = r);
|
|
||||||
await page.evaluate(() => fetch('./post', { method: 'POST', body: JSON.stringify({foo: 'bar'})}));
|
|
||||||
expect(request).toBeTruthy();
|
|
||||||
expect(request.postData()).toBe('{"foo":"bar"}');
|
|
||||||
});
|
|
||||||
it('Page.Events.Response', async({page, server}) => {
|
it('Page.Events.Response', async({page, server}) => {
|
||||||
const responses = [];
|
const responses = [];
|
||||||
page.on('response', response => responses.push(response));
|
page.on('response', response => responses.push(response));
|
||||||
|
Loading…
Reference in New Issue
Block a user