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.json()](#responsejson)
- [response.ok()](#responseok)
- [response.remoteAddress()](#responseremoteaddress)
- [response.request()](#responserequest)
- [response.status()](#responsestatus)
- [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.
#### 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()
- returns: <[Request]> A matching [Request] object.

View file

@ -200,12 +200,11 @@ export class CRNetworkManager {
}
_createResponse(request: InterceptableRequest, responsePayload: Protocol.Network.Response): network.Response {
const remoteAddress: network.RemoteAddress = { ip: responsePayload.remoteIPAddress || '', port: responsePayload.remotePort || 0 };
const getResponseBody = async () => {
const response = await this._client.send('Network.getResponseBody', { requestId: request._requestId });
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) {

View file

@ -71,7 +71,6 @@ export class FFNetworkManager {
const request = this._requests.get(event.requestId);
if (!request)
return;
const remoteAddress: network.RemoteAddress = { ip: event.remoteIPAddress || '', port: event.remotePort || 0 };
const getResponseBody = async () => {
const response = await this._session.send('Network.getResponseBody', {
requestId: request._id
@ -83,7 +82,7 @@ export class FFNetworkManager {
const headers: network.Headers = {};
for (const {name, value} of event.headers)
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);
}

View file

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

View file

@ -109,12 +109,11 @@ export class WKInterceptableRequest implements network.RequestDelegate {
}
createResponse(responsePayload: Protocol.Network.Response): network.Response {
const remoteAddress: network.RemoteAddress = { ip: '', port: 0 };
const getResponseBody = async () => {
const response = await this._session.send('Network.getResponseBody', { requestId: this._requestId });
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().url()).toBe(server.EMPTY_PAGE);
});
// FIXME: WebKit doesn't provide remoteIPAddress in the response.
it.skip(WEBKIT)('Page.Events.Response', async({page, server}) => {
it('Page.Events.Response', async({page, server}) => {
const responses = [];
page.on('response', response => responses.push(response));
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].ok()).toBe(true);
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}) => {