call it correlation
This commit is contained in:
parent
4887ca6750
commit
edff9fc11d
|
|
@ -30,9 +30,9 @@ export class MockingProxy extends ChannelOwner<channels.MockingProxyChannel> {
|
|||
const requestContext = APIRequestContext.from(initializer.requestContext);
|
||||
|
||||
this._channel.on('route', async (params: channels.MockingProxyRouteEvent) => {
|
||||
const browserRequest = params.browserRequest ? this._browserRequests.get(params.browserRequest) : undefined;
|
||||
if (params.browserRequest)
|
||||
this._browserRequests.delete(params.browserRequest);
|
||||
const browserRequest = params.correlation ? this._browserRequests.get(params.correlation) : undefined;
|
||||
if (params.correlation)
|
||||
this._browserRequests.delete(params.correlation);
|
||||
const route = network.Route.from(params.route);
|
||||
route._context = requestContext;
|
||||
this.emit(Events.MockingProxy.Route, { route, browserRequest });
|
||||
|
|
@ -49,8 +49,9 @@ export class MockingProxy extends ChannelOwner<channels.MockingProxyChannel> {
|
|||
return await route.continue();
|
||||
|
||||
const request = route.request();
|
||||
this._browserRequests.set(request._guid, request);
|
||||
const proxyUrl = `http://localhost:${this.port()}/pw_meta:${request._guid}/`;
|
||||
const correlation = request._guid.split('@')[1];
|
||||
this._browserRequests.set(correlation, request);
|
||||
const proxyUrl = `http://localhost:${this.port()}/pw_meta:${correlation}/`;
|
||||
|
||||
await route.continue({ headers: { 'x-playwright-proxy': encodeURIComponent(proxyUrl) } });
|
||||
}
|
||||
|
|
|
|||
|
|
@ -348,7 +348,7 @@ scheme.MockingProxyInitializer = tObject({
|
|||
});
|
||||
scheme.MockingProxyRouteEvent = tObject({
|
||||
route: tChannel(['Route']),
|
||||
browserRequest: tOptional(tString),
|
||||
correlation: tOptional(tString),
|
||||
});
|
||||
scheme.MockingProxySetInterceptionPatternsParams = tObject({
|
||||
patterns: tArray(tObject({
|
||||
|
|
|
|||
|
|
@ -36,9 +36,9 @@ export class MockingProxyDispatcher extends Dispatcher<MockingProxy, channels.Mo
|
|||
requestContext: APIRequestContextDispatcher.from(scope, mockingProxy.fetchRequest),
|
||||
});
|
||||
|
||||
this.addObjectListener(MockingProxy.Events.Route, ({ route, browserRequest }: {route: Route, browserRequest?: string }) => {
|
||||
this.addObjectListener(MockingProxy.Events.Route, ({ route, correlation }: {route: Route, correlation?: string }) => {
|
||||
const requestDispatcher = RequestDispatcher.from(this as any, route.request());
|
||||
this._dispatchEvent('route', { route: RouteDispatcher.from(requestDispatcher, route), browserRequest });
|
||||
this._dispatchEvent('route', { route: RouteDispatcher.from(requestDispatcher, route), correlation });
|
||||
});
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -70,9 +70,9 @@ export class MockingProxy extends SdkObject implements RequestContext {
|
|||
if (req.url?.startsWith('/'))
|
||||
req.url = req.url.substring(1);
|
||||
|
||||
let browserRequest: string | undefined;
|
||||
let correlation: string | undefined;
|
||||
if (req.url?.startsWith('pw_meta:')) {
|
||||
browserRequest = req.url.substring('pw_meta:'.length, req.url.indexOf('/'));
|
||||
correlation = req.url.substring('pw_meta:'.length, req.url.indexOf('/'));
|
||||
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!))
|
||||
this.emit(MockingProxy.Events.Route, { route, browserRequest });
|
||||
this.emit(MockingProxy.Events.Route, { route, correlation });
|
||||
else
|
||||
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 = {
|
||||
route: RouteChannel,
|
||||
browserRequest?: string,
|
||||
correlation?: string,
|
||||
};
|
||||
export type MockingProxySetInterceptionPatternsParams = {
|
||||
patterns: {
|
||||
|
|
|
|||
|
|
@ -700,7 +700,7 @@ MockingProxy:
|
|||
route:
|
||||
parameters:
|
||||
route: Route
|
||||
browserRequest: string?
|
||||
correlation: string?
|
||||
|
||||
Root:
|
||||
type: interface
|
||||
|
|
|
|||
Loading…
Reference in a new issue