rename a little
This commit is contained in:
parent
f3e0c20f75
commit
e4e743cc23
|
|
@ -21,7 +21,7 @@ import { Events } from './events';
|
||||||
|
|
||||||
export class MockingProxy extends ChannelOwner<channels.MockingProxyChannel> {
|
export class MockingProxy extends ChannelOwner<channels.MockingProxyChannel> {
|
||||||
private _port: number;
|
private _port: number;
|
||||||
private _browserRequests = new Map<string, network.Route>();
|
private _browserRequests = new Map<string, network.Request>();
|
||||||
|
|
||||||
constructor(parent: ChannelOwner, type: string, guid: string, initializer: channels.MockingProxyInitializer) {
|
constructor(parent: ChannelOwner, type: string, guid: string, initializer: channels.MockingProxyInitializer) {
|
||||||
super(parent, type, guid, initializer);
|
super(parent, type, guid, initializer);
|
||||||
|
|
@ -30,9 +30,9 @@ export class MockingProxy extends ChannelOwner<channels.MockingProxyChannel> {
|
||||||
const requestContext = APIRequestContext.from(initializer.requestContext);
|
const requestContext = APIRequestContext.from(initializer.requestContext);
|
||||||
|
|
||||||
this._channel.on('route', async (params: channels.MockingProxyRouteEvent) => {
|
this._channel.on('route', async (params: channels.MockingProxyRouteEvent) => {
|
||||||
const browserRequest = params.browserRequestRoute ? this._browserRequests.get(params.browserRequestRoute) : undefined;
|
const browserRequest = params.browserRequest ? this._browserRequests.get(params.browserRequest) : undefined;
|
||||||
if (params.browserRequestRoute)
|
if (params.browserRequest)
|
||||||
this._browserRequests.delete(params.browserRequestRoute);
|
this._browserRequests.delete(params.browserRequest);
|
||||||
const route = network.Route.from(params.route);
|
const route = network.Route.from(params.route);
|
||||||
route._context = requestContext;
|
route._context = requestContext;
|
||||||
this.emit(Events.MockingProxy.Route, { route, browserRequest });
|
this.emit(Events.MockingProxy.Route, { route, browserRequest });
|
||||||
|
|
@ -48,8 +48,8 @@ export class MockingProxy extends ChannelOwner<channels.MockingProxyChannel> {
|
||||||
if (isSimpleCORS)
|
if (isSimpleCORS)
|
||||||
return await route.continue();
|
return await route.continue();
|
||||||
|
|
||||||
this._browserRequests.set(route._guid, route);
|
this._browserRequests.set(route._guid, route.request());
|
||||||
const proxyUrl = `http://localhost:${this.port()}/pw_meta:${route._guid}/`;
|
const proxyUrl = `http://localhost:${this.port()}/pw_meta:${route.request()._guid}/`;
|
||||||
|
|
||||||
await route.continue({ headers: { 'x-playwright-proxy': encodeURIComponent(proxyUrl) } });
|
await route.continue({ headers: { 'x-playwright-proxy': encodeURIComponent(proxyUrl) } });
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -348,7 +348,7 @@ scheme.MockingProxyInitializer = tObject({
|
||||||
});
|
});
|
||||||
scheme.MockingProxyRouteEvent = tObject({
|
scheme.MockingProxyRouteEvent = tObject({
|
||||||
route: tChannel(['Route']),
|
route: tChannel(['Route']),
|
||||||
browserRequestRoute: tOptional(tString),
|
browserRequest: tOptional(tString),
|
||||||
});
|
});
|
||||||
scheme.MockingProxySetInterceptionPatternsParams = tObject({
|
scheme.MockingProxySetInterceptionPatternsParams = tObject({
|
||||||
patterns: tArray(tObject({
|
patterns: tArray(tObject({
|
||||||
|
|
|
||||||
|
|
@ -36,9 +36,9 @@ export class MockingProxyDispatcher extends Dispatcher<MockingProxy, channels.Mo
|
||||||
requestContext: APIRequestContextDispatcher.from(scope, mockingProxy.fetchRequest),
|
requestContext: APIRequestContextDispatcher.from(scope, mockingProxy.fetchRequest),
|
||||||
});
|
});
|
||||||
|
|
||||||
this.addObjectListener(MockingProxy.Events.Route, ({ route, browserRequestRoute }: {route: Route, browserRequestRoute?: string }) => {
|
this.addObjectListener(MockingProxy.Events.Route, ({ route, browserRequest }: {route: Route, browserRequest?: string }) => {
|
||||||
const requestDispatcher = RequestDispatcher.from(this as any, route.request());
|
const requestDispatcher = RequestDispatcher.from(this as any, route.request());
|
||||||
this._dispatchEvent('route', { route: RouteDispatcher.from(requestDispatcher, route), browserRequestRoute });
|
this._dispatchEvent('route', { route: RouteDispatcher.from(requestDispatcher, route), browserRequest });
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -70,9 +70,9 @@ export class MockingProxy extends SdkObject implements RequestContext {
|
||||||
if (req.url?.startsWith('/'))
|
if (req.url?.startsWith('/'))
|
||||||
req.url = req.url.substring(1);
|
req.url = req.url.substring(1);
|
||||||
|
|
||||||
let browserRequestRoute: string | undefined;
|
let browserRequest: string | undefined;
|
||||||
if (req.url?.startsWith('pw_meta:')) {
|
if (req.url?.startsWith('pw_meta:')) {
|
||||||
browserRequestRoute = req.url.substring('pw_meta:'.length, req.url.indexOf('/'));
|
browserRequest = req.url.substring('pw_meta:'.length, req.url.indexOf('/'));
|
||||||
req.url = req.url.substring(req.url.indexOf('/') + 1);
|
req.url = req.url.substring(req.url.indexOf('/') + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -209,7 +209,7 @@ export class MockingProxy extends SdkObject implements RequestContext {
|
||||||
});
|
});
|
||||||
|
|
||||||
if (this._matches?.(req.url!))
|
if (this._matches?.(req.url!))
|
||||||
this.emit(MockingProxy.Events.Route, { route, browserRequestRoute });
|
this.emit(MockingProxy.Events.Route, { route, browserRequest });
|
||||||
else
|
else
|
||||||
await route.continue({ isFallback: false });
|
await route.continue({ isFallback: false });
|
||||||
}
|
}
|
||||||
|
|
|
||||||
2
packages/protocol/src/channels.d.ts
vendored
2
packages/protocol/src/channels.d.ts
vendored
|
|
@ -593,7 +593,7 @@ export interface MockingProxyChannel extends MockingProxyEventTarget, EventTarge
|
||||||
}
|
}
|
||||||
export type MockingProxyRouteEvent = {
|
export type MockingProxyRouteEvent = {
|
||||||
route: RouteChannel,
|
route: RouteChannel,
|
||||||
browserRequestRoute?: string,
|
browserRequest?: string,
|
||||||
};
|
};
|
||||||
export type MockingProxySetInterceptionPatternsParams = {
|
export type MockingProxySetInterceptionPatternsParams = {
|
||||||
patterns: {
|
patterns: {
|
||||||
|
|
|
||||||
|
|
@ -700,7 +700,7 @@ MockingProxy:
|
||||||
route:
|
route:
|
||||||
parameters:
|
parameters:
|
||||||
route: Route
|
route: Route
|
||||||
browserRequestRoute: string?
|
browserRequest: string?
|
||||||
|
|
||||||
Root:
|
Root:
|
||||||
type: interface
|
type: interface
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue