remove "as any"
This commit is contained in:
parent
d80f3297aa
commit
c2826f0aeb
|
|
@ -35,23 +35,23 @@ export class MockingProxyDispatcher extends Dispatcher<MockingProxy, channels.Mo
|
||||||
});
|
});
|
||||||
|
|
||||||
this.addObjectListener(MockingProxy.Events.Route, (route: Route) => {
|
this.addObjectListener(MockingProxy.Events.Route, (route: Route) => {
|
||||||
const requestDispatcher = RequestDispatcher.from(this as any, route.request());
|
const requestDispatcher = RequestDispatcher.from(this, route.request());
|
||||||
this._dispatchEvent('route', { route: RouteDispatcher.from(requestDispatcher, route) });
|
this._dispatchEvent('route', { route: RouteDispatcher.from(requestDispatcher, route) });
|
||||||
});
|
});
|
||||||
this.addObjectListener(MockingProxy.Events.Request, ({ request, correlation }: { request: Request, correlation: string }) => {
|
this.addObjectListener(MockingProxy.Events.Request, ({ request, correlation }: { request: Request, correlation: string }) => {
|
||||||
this._dispatchEvent('request', { request: RequestDispatcher.from(this as any, request), correlation });
|
this._dispatchEvent('request', { request: RequestDispatcher.from(this, request), correlation });
|
||||||
});
|
});
|
||||||
this.addObjectListener(MockingProxy.Events.RequestFailed, (request: Request) => {
|
this.addObjectListener(MockingProxy.Events.RequestFailed, (request: Request) => {
|
||||||
this._dispatchEvent('requestFailed', {
|
this._dispatchEvent('requestFailed', {
|
||||||
request: RequestDispatcher.from(this as any, request),
|
request: RequestDispatcher.from(this, request),
|
||||||
failureText: request._failureText ?? undefined,
|
failureText: request._failureText ?? undefined,
|
||||||
responseEndTiming: request._responseEndTiming,
|
responseEndTiming: request._responseEndTiming,
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
this.addObjectListener(MockingProxy.Events.RequestFinished, (request: Request) => {
|
this.addObjectListener(MockingProxy.Events.RequestFinished, (request: Request) => {
|
||||||
this._dispatchEvent('requestFinished', {
|
this._dispatchEvent('requestFinished', {
|
||||||
request: RequestDispatcher.from(this as any, request),
|
request: RequestDispatcher.from(this, request),
|
||||||
response: ResponseDispatcher.fromNullable(this as any, request._existingResponse()),
|
response: ResponseDispatcher.fromNullable(this, request._existingResponse()),
|
||||||
responseEndTiming: request._responseEndTiming,
|
responseEndTiming: request._responseEndTiming,
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
|
||||||
|
|
@ -26,30 +26,33 @@ import type { BrowserContextDispatcher } from './browserContextDispatcher';
|
||||||
import type { PageDispatcher } from './pageDispatcher';
|
import type { PageDispatcher } from './pageDispatcher';
|
||||||
import { FrameDispatcher } from './frameDispatcher';
|
import { FrameDispatcher } from './frameDispatcher';
|
||||||
import { WorkerDispatcher } from './pageDispatcher';
|
import { WorkerDispatcher } from './pageDispatcher';
|
||||||
|
import type { MockingProxyDispatcher } from './mockingProxyDispatcher';
|
||||||
|
|
||||||
export class RequestDispatcher extends Dispatcher<Request, channels.RequestChannel, BrowserContextDispatcher | PageDispatcher | FrameDispatcher> implements channels.RequestChannel {
|
type NetworkScope = BrowserContextDispatcher | MockingProxyDispatcher;
|
||||||
|
|
||||||
|
export class RequestDispatcher extends Dispatcher<Request, channels.RequestChannel, NetworkScope | PageDispatcher | FrameDispatcher> implements channels.RequestChannel {
|
||||||
_type_Request: boolean;
|
_type_Request: boolean;
|
||||||
private _browserContextDispatcher: BrowserContextDispatcher;
|
private _networkScope: NetworkScope;
|
||||||
|
|
||||||
static from(scope: BrowserContextDispatcher, request: Request): RequestDispatcher {
|
static from(scope: NetworkScope, request: Request): RequestDispatcher {
|
||||||
const result = existingDispatcher<RequestDispatcher>(request);
|
const result = existingDispatcher<RequestDispatcher>(request);
|
||||||
return result || new RequestDispatcher(scope, request);
|
return result || new RequestDispatcher(scope, request);
|
||||||
}
|
}
|
||||||
|
|
||||||
static fromNullable(scope: BrowserContextDispatcher, request: Request | null): RequestDispatcher | undefined {
|
static fromNullable(scope: NetworkScope, request: Request | null): RequestDispatcher | undefined {
|
||||||
return request ? RequestDispatcher.from(scope, request) : undefined;
|
return request ? RequestDispatcher.from(scope, request) : undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
private constructor(scope: BrowserContextDispatcher, request: Request) {
|
private constructor(scope: NetworkScope, request: Request) {
|
||||||
const postData = request.postDataBuffer();
|
const postData = request.postDataBuffer();
|
||||||
// Always try to attach request to the page, if not, frame.
|
// Always try to attach request to the page, if not, frame.
|
||||||
const frame = request.frame();
|
const frame = request.frame();
|
||||||
const page = request.frame()?._page;
|
const page = request.frame()?._page;
|
||||||
const pageDispatcher = page ? existingDispatcher<PageDispatcher>(page) : null;
|
const pageDispatcher = page ? existingDispatcher<PageDispatcher>(page) : null;
|
||||||
const frameDispatcher = frame ? FrameDispatcher.from(scope, frame) : null;
|
const frameDispatcher = frame ? FrameDispatcher.from(scope as BrowserContextDispatcher, frame) : null;
|
||||||
super(pageDispatcher || frameDispatcher || scope, request, 'Request', {
|
super(pageDispatcher || frameDispatcher || scope, request, 'Request', {
|
||||||
frame: FrameDispatcher.fromNullable(scope, request.frame()),
|
frame: FrameDispatcher.fromNullable(scope as BrowserContextDispatcher, request.frame()),
|
||||||
serviceWorker: WorkerDispatcher.fromNullable(scope, request.serviceWorker()),
|
serviceWorker: WorkerDispatcher.fromNullable(scope as BrowserContextDispatcher, request.serviceWorker()),
|
||||||
url: request.url(),
|
url: request.url(),
|
||||||
resourceType: request.resourceType(),
|
resourceType: request.resourceType(),
|
||||||
method: request.method(),
|
method: request.method(),
|
||||||
|
|
@ -59,7 +62,7 @@ export class RequestDispatcher extends Dispatcher<Request, channels.RequestChann
|
||||||
redirectedFrom: RequestDispatcher.fromNullable(scope, request.redirectedFrom()),
|
redirectedFrom: RequestDispatcher.fromNullable(scope, request.redirectedFrom()),
|
||||||
});
|
});
|
||||||
this._type_Request = true;
|
this._type_Request = true;
|
||||||
this._browserContextDispatcher = scope;
|
this._networkScope = scope;
|
||||||
}
|
}
|
||||||
|
|
||||||
async rawRequestHeaders(params?: channels.RequestRawRequestHeadersParams): Promise<channels.RequestRawRequestHeadersResult> {
|
async rawRequestHeaders(params?: channels.RequestRawRequestHeadersParams): Promise<channels.RequestRawRequestHeadersResult> {
|
||||||
|
|
@ -67,20 +70,20 @@ export class RequestDispatcher extends Dispatcher<Request, channels.RequestChann
|
||||||
}
|
}
|
||||||
|
|
||||||
async response(): Promise<channels.RequestResponseResult> {
|
async response(): Promise<channels.RequestResponseResult> {
|
||||||
return { response: ResponseDispatcher.fromNullable(this._browserContextDispatcher, await this._object.response()) };
|
return { response: ResponseDispatcher.fromNullable(this._networkScope, await this._object.response()) };
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export class ResponseDispatcher extends Dispatcher<Response, channels.ResponseChannel, RequestDispatcher> implements channels.ResponseChannel {
|
export class ResponseDispatcher extends Dispatcher<Response, channels.ResponseChannel, RequestDispatcher> implements channels.ResponseChannel {
|
||||||
_type_Response = true;
|
_type_Response = true;
|
||||||
|
|
||||||
static from(scope: BrowserContextDispatcher, response: Response): ResponseDispatcher {
|
static from(scope: NetworkScope, response: Response): ResponseDispatcher {
|
||||||
const result = existingDispatcher<ResponseDispatcher>(response);
|
const result = existingDispatcher<ResponseDispatcher>(response);
|
||||||
const requestDispatcher = RequestDispatcher.from(scope, response.request());
|
const requestDispatcher = RequestDispatcher.from(scope, response.request());
|
||||||
return result || new ResponseDispatcher(requestDispatcher, response);
|
return result || new ResponseDispatcher(requestDispatcher, response);
|
||||||
}
|
}
|
||||||
|
|
||||||
static fromNullable(scope: BrowserContextDispatcher, response: Response | null): ResponseDispatcher | undefined {
|
static fromNullable(scope: NetworkScope, response: Response | null): ResponseDispatcher | undefined {
|
||||||
return response ? ResponseDispatcher.from(scope, response) : undefined;
|
return response ? ResponseDispatcher.from(scope, response) : undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue