call it correlation

This commit is contained in:
Simon Knott 2025-01-27 14:33:12 +01:00
parent 4887ca6750
commit edff9fc11d
No known key found for this signature in database
GPG key ID: 8CEDC00028084AEC
6 changed files with 14 additions and 13 deletions

View file

@ -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) } });
}

View file

@ -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({

View file

@ -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 });
});
}

View file

@ -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 });
}

View file

@ -593,7 +593,7 @@ export interface MockingProxyChannel extends MockingProxyEventTarget, EventTarge
}
export type MockingProxyRouteEvent = {
route: RouteChannel,
browserRequest?: string,
correlation?: string,
};
export type MockingProxySetInterceptionPatternsParams = {
patterns: {

View file

@ -700,7 +700,7 @@ MockingProxy:
route:
parameters:
route: Route
browserRequest: string?
correlation: string?
Root:
type: interface