fix(api): remove remoteAddress from api (#601)

This commit is contained in:
Dmitry Gozman 2020-01-23 12:13:58 -08:00 committed by GitHub
parent 23a668e3be
commit a5019ea69a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 5 additions and 30 deletions

View file

@ -2938,7 +2938,6 @@ ResourceType will be one of the following: `document`, `stylesheet`, `image`, `m
- [response.headers()](#responseheaders) - [response.headers()](#responseheaders)
- [response.json()](#responsejson) - [response.json()](#responsejson)
- [response.ok()](#responseok) - [response.ok()](#responseok)
- [response.remoteAddress()](#responseremoteaddress)
- [response.request()](#responserequest) - [response.request()](#responserequest)
- [response.status()](#responsestatus) - [response.status()](#responsestatus)
- [response.statusText()](#responsestatustext) - [response.statusText()](#responsestatustext)
@ -2965,11 +2964,6 @@ This method will throw if the response body is not parsable via `JSON.parse`.
Contains a boolean stating whether the response was successful (status in the range 200-299) or not. Contains a boolean stating whether the response was successful (status in the range 200-299) or not.
#### response.remoteAddress()
- returns: <[Object]>
- `ip` <[string]> the IP address of the remote server
- `port` <[number]> the port used to connect to the remote server
#### response.request() #### response.request()
- returns: <[Request]> A matching [Request] object. - returns: <[Request]> A matching [Request] object.

View file

@ -200,12 +200,11 @@ export class CRNetworkManager {
} }
_createResponse(request: InterceptableRequest, responsePayload: Protocol.Network.Response): network.Response { _createResponse(request: InterceptableRequest, responsePayload: Protocol.Network.Response): network.Response {
const remoteAddress: network.RemoteAddress = { ip: responsePayload.remoteIPAddress || '', port: responsePayload.remotePort || 0 };
const getResponseBody = async () => { const getResponseBody = async () => {
const response = await this._client.send('Network.getResponseBody', { requestId: request._requestId }); const response = await this._client.send('Network.getResponseBody', { requestId: request._requestId });
return platform.Buffer.from(response.body, response.base64Encoded ? 'base64' : 'utf8'); return platform.Buffer.from(response.body, response.base64Encoded ? 'base64' : 'utf8');
}; };
return new network.Response(request.request, responsePayload.status, responsePayload.statusText, headersObject(responsePayload.headers), remoteAddress, getResponseBody); return new network.Response(request.request, responsePayload.status, responsePayload.statusText, headersObject(responsePayload.headers), getResponseBody);
} }
_handleRequestRedirect(request: InterceptableRequest, responsePayload: Protocol.Network.Response) { _handleRequestRedirect(request: InterceptableRequest, responsePayload: Protocol.Network.Response) {

View file

@ -71,7 +71,6 @@ export class FFNetworkManager {
const request = this._requests.get(event.requestId); const request = this._requests.get(event.requestId);
if (!request) if (!request)
return; return;
const remoteAddress: network.RemoteAddress = { ip: event.remoteIPAddress || '', port: event.remotePort || 0 };
const getResponseBody = async () => { const getResponseBody = async () => {
const response = await this._session.send('Network.getResponseBody', { const response = await this._session.send('Network.getResponseBody', {
requestId: request._id requestId: request._id
@ -83,7 +82,7 @@ export class FFNetworkManager {
const headers: network.Headers = {}; const headers: network.Headers = {};
for (const {name, value} of event.headers) for (const {name, value} of event.headers)
headers[name.toLowerCase()] = value; headers[name.toLowerCase()] = value;
const response = new network.Response(request.request, event.status, event.statusText, headers, remoteAddress, getResponseBody); const response = new network.Response(request.request, event.status, event.statusText, headers, getResponseBody);
this._page._frameManager.requestReceivedResponse(response); this._page._frameManager.requestReceivedResponse(response);
} }

View file

@ -218,11 +218,6 @@ export class Request {
} }
} }
export type RemoteAddress = {
ip: string,
port: number,
};
type GetResponseBodyCallback = () => Promise<platform.BufferType>; type GetResponseBodyCallback = () => Promise<platform.BufferType>;
export class Response { export class Response {
@ -230,20 +225,18 @@ export class Response {
private _contentPromise: Promise<platform.BufferType> | null = null; private _contentPromise: Promise<platform.BufferType> | null = null;
_finishedPromise: Promise<Error | null>; _finishedPromise: Promise<Error | null>;
private _finishedPromiseCallback: any; private _finishedPromiseCallback: any;
private _remoteAddress: RemoteAddress;
private _status: number; private _status: number;
private _statusText: string; private _statusText: string;
private _url: string; private _url: string;
private _headers: Headers; private _headers: Headers;
private _getResponseBodyCallback: GetResponseBodyCallback; private _getResponseBodyCallback: GetResponseBodyCallback;
constructor(request: Request, status: number, statusText: string, headers: Headers, remoteAddress: RemoteAddress, getResponseBodyCallback: GetResponseBodyCallback) { constructor(request: Request, status: number, statusText: string, headers: Headers, getResponseBodyCallback: GetResponseBodyCallback) {
this._request = request; this._request = request;
this._status = status; this._status = status;
this._statusText = statusText; this._statusText = statusText;
this._url = request.url(); this._url = request.url();
this._headers = headers; this._headers = headers;
this._remoteAddress = remoteAddress;
this._getResponseBodyCallback = getResponseBodyCallback; this._getResponseBodyCallback = getResponseBodyCallback;
this._finishedPromise = new Promise(f => { this._finishedPromise = new Promise(f => {
this._finishedPromiseCallback = f; this._finishedPromiseCallback = f;
@ -255,10 +248,6 @@ export class Response {
this._finishedPromiseCallback.call(null, error); this._finishedPromiseCallback.call(null, error);
} }
remoteAddress(): RemoteAddress {
return this._remoteAddress;
}
url(): string { url(): string {
return this._url; return this._url;
} }

View file

@ -109,12 +109,11 @@ export class WKInterceptableRequest implements network.RequestDelegate {
} }
createResponse(responsePayload: Protocol.Network.Response): network.Response { createResponse(responsePayload: Protocol.Network.Response): network.Response {
const remoteAddress: network.RemoteAddress = { ip: '', port: 0 };
const getResponseBody = async () => { const getResponseBody = async () => {
const response = await this._session.send('Network.getResponseBody', { requestId: this._requestId }); const response = await this._session.send('Network.getResponseBody', { requestId: this._requestId });
return platform.Buffer.from(response.body, response.base64Encoded ? 'base64' : 'utf8'); return platform.Buffer.from(response.body, response.base64Encoded ? 'base64' : 'utf8');
}; };
return new network.Response(this.request, responsePayload.status, responsePayload.statusText, headersObject(responsePayload.headers), remoteAddress, getResponseBody); return new network.Response(this.request, responsePayload.status, responsePayload.statusText, headersObject(responsePayload.headers), getResponseBody);
} }
} }

View file

@ -217,8 +217,7 @@ module.exports.describe = function({testRunner, expect, FFOX, CHROMIUM, WEBKIT})
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);
}); });
// FIXME: WebKit doesn't provide remoteIPAddress in the response. it('Page.Events.Response', async({page, server}) => {
it.skip(WEBKIT)('Page.Events.Response', async({page, server}) => {
const responses = []; const responses = [];
page.on('response', response => responses.push(response)); page.on('response', response => responses.push(response));
await page.goto(server.EMPTY_PAGE); await page.goto(server.EMPTY_PAGE);
@ -227,10 +226,6 @@ module.exports.describe = function({testRunner, expect, FFOX, CHROMIUM, WEBKIT})
expect(responses[0].status()).toBe(200); expect(responses[0].status()).toBe(200);
expect(responses[0].ok()).toBe(true); expect(responses[0].ok()).toBe(true);
expect(responses[0].request()).toBeTruthy(); expect(responses[0].request()).toBeTruthy();
const remoteAddress = responses[0].remoteAddress();
// Either IPv6 or IPv4, depending on environment.
expect(remoteAddress.ip.includes('::1') || remoteAddress.ip === '127.0.0.1').toBe(true);
expect(remoteAddress.port).toBe(server.PORT);
}); });
it.skip(FFOX)('Page.Events.RequestFailed', async({page, server}) => { it.skip(FFOX)('Page.Events.RequestFailed', async({page, server}) => {