mirror of
https://github.com/puppeteer/puppeteer
synced 2024-06-14 14:02:48 +00:00
Implement Request object
This patch does a step towards Fetch API: - implements Request object to some extend. The Request object will be sent in RequestWillBeSent event. - implements InterceptedRequest which extends from Request and allows for request modification. The InterceptedRequest does not conform to Fetch API spec - there seems to be nothing related to amending in-flight request. - adds test to make sure that request can change headers. References #26
This commit is contained in:
@@ -17,7 +17,7 @@
|
||||
let fs = require('fs');
|
||||
let EventEmitter = require('events');
|
||||
let mime = require('mime');
|
||||
let Request = require('./Request');
|
||||
let {InterceptedRequest} = require('./Request');
|
||||
let Navigator = require('./Navigator');
|
||||
let Dialog = require('./Dialog');
|
||||
let FrameManager = require('./FrameManager');
|
||||
@@ -57,7 +57,7 @@ class Page extends EventEmitter {
|
||||
this._extraHeaders = {};
|
||||
/** @type {!Map<string, function>} */
|
||||
this._inPageCallbacks = new Map();
|
||||
/** @type {?function(!Request)} */
|
||||
/** @type {?function(!InterceptedRequest)} */
|
||||
this._requestInterceptor = null;
|
||||
/** @type {?Promise<number>} */
|
||||
this._rootNodeIdPromise = null;
|
||||
@@ -94,7 +94,7 @@ class Page extends EventEmitter {
|
||||
}
|
||||
|
||||
/**
|
||||
* @param {?function(!Request)} interceptor
|
||||
* @param {?function(!InterceptedRequest)} interceptor
|
||||
*/
|
||||
async setRequestInterceptor(interceptor) {
|
||||
this._requestInterceptor = interceptor;
|
||||
@@ -105,7 +105,7 @@ class Page extends EventEmitter {
|
||||
* @param {!Object} event
|
||||
*/
|
||||
_onRequestIntercepted(event) {
|
||||
let request = new Request(this._client, event.InterceptionId, event.request);
|
||||
let request = new InterceptedRequest(this._client, event.InterceptionId, event.request);
|
||||
this._requestInterceptor(request);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user