mirror of
https://github.com/Unleash/unleash.git
synced 2025-01-31 00:16:47 +01:00
feat: share context between both frontend apis (#6529)
We are sharing contexts because we want both clients to use same session ID.
This commit is contained in:
parent
259fde09db
commit
570af43615
@ -36,5 +36,6 @@ export function createContext(value: any): Context {
|
|||||||
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
|
// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types
|
||||||
export const enrichContextWithIp = (query: any, ip: string): Context => {
|
export const enrichContextWithIp = (query: any, ip: string): Context => {
|
||||||
query.remoteAddress = query.remoteAddress || ip;
|
query.remoteAddress = query.remoteAddress || ip;
|
||||||
|
query.sessionId = query.sessionId || String(Math.random());
|
||||||
return createContext(query);
|
return createContext(query);
|
||||||
};
|
};
|
||||||
|
@ -179,14 +179,15 @@ export default class FrontendAPIController extends Controller {
|
|||||||
let toggles: FrontendApiFeatureSchema[];
|
let toggles: FrontendApiFeatureSchema[];
|
||||||
let newToggles: FrontendApiFeatureSchema[] = [];
|
let newToggles: FrontendApiFeatureSchema[] = [];
|
||||||
if (this.config.flagResolver.isEnabled('globalFrontendApiCache')) {
|
if (this.config.flagResolver.isEnabled('globalFrontendApiCache')) {
|
||||||
|
const context = FrontendAPIController.createContext(req);
|
||||||
[toggles, newToggles] = await Promise.all([
|
[toggles, newToggles] = await Promise.all([
|
||||||
this.services.frontendApiService.getFrontendApiFeatures(
|
this.services.frontendApiService.getFrontendApiFeatures(
|
||||||
req.user,
|
req.user,
|
||||||
FrontendAPIController.createContext(req),
|
context,
|
||||||
),
|
),
|
||||||
this.services.frontendApiService.getNewFrontendApiFeatures(
|
this.services.frontendApiService.getNewFrontendApiFeatures(
|
||||||
req.user,
|
req.user,
|
||||||
FrontendAPIController.createContext(req),
|
context,
|
||||||
),
|
),
|
||||||
]);
|
]);
|
||||||
const sortedToggles = toggles.sort((a, b) =>
|
const sortedToggles = toggles.sort((a, b) =>
|
||||||
@ -201,9 +202,10 @@ export default class FrontendAPIController extends Controller {
|
|||||||
toggles.length
|
toggles.length
|
||||||
}, new count ${newToggles.length}, projects ${
|
}, new count ${newToggles.length}, projects ${
|
||||||
req.user.projects
|
req.user.projects
|
||||||
}, environment ${req.user.environment}, diff ${diff(
|
}, environment ${
|
||||||
sortedToggles,
|
req.user.environment
|
||||||
sortedNewToggles,
|
}, diff ${JSON.stringify(
|
||||||
|
diff(sortedToggles, sortedNewToggles),
|
||||||
)}`,
|
)}`,
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user