mirror of
				https://github.com/Unleash/unleash.git
				synced 2025-10-27 11:02:16 +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
 | 
			
		||||
export const enrichContextWithIp = (query: any, ip: string): Context => {
 | 
			
		||||
    query.remoteAddress = query.remoteAddress || ip;
 | 
			
		||||
    query.sessionId = query.sessionId || String(Math.random());
 | 
			
		||||
    return createContext(query);
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
@ -179,14 +179,15 @@ export default class FrontendAPIController extends Controller {
 | 
			
		||||
        let toggles: FrontendApiFeatureSchema[];
 | 
			
		||||
        let newToggles: FrontendApiFeatureSchema[] = [];
 | 
			
		||||
        if (this.config.flagResolver.isEnabled('globalFrontendApiCache')) {
 | 
			
		||||
            const context = FrontendAPIController.createContext(req);
 | 
			
		||||
            [toggles, newToggles] = await Promise.all([
 | 
			
		||||
                this.services.frontendApiService.getFrontendApiFeatures(
 | 
			
		||||
                    req.user,
 | 
			
		||||
                    FrontendAPIController.createContext(req),
 | 
			
		||||
                    context,
 | 
			
		||||
                ),
 | 
			
		||||
                this.services.frontendApiService.getNewFrontendApiFeatures(
 | 
			
		||||
                    req.user,
 | 
			
		||||
                    FrontendAPIController.createContext(req),
 | 
			
		||||
                    context,
 | 
			
		||||
                ),
 | 
			
		||||
            ]);
 | 
			
		||||
            const sortedToggles = toggles.sort((a, b) =>
 | 
			
		||||
@ -201,9 +202,10 @@ export default class FrontendAPIController extends Controller {
 | 
			
		||||
                        toggles.length
 | 
			
		||||
                    }, new count ${newToggles.length}, projects ${
 | 
			
		||||
                        req.user.projects
 | 
			
		||||
                    }, environment ${req.user.environment}, diff ${diff(
 | 
			
		||||
                        sortedToggles,
 | 
			
		||||
                        sortedNewToggles,
 | 
			
		||||
                    }, environment ${
 | 
			
		||||
                        req.user.environment
 | 
			
		||||
                    }, diff ${JSON.stringify(
 | 
			
		||||
                        diff(sortedToggles, sortedNewToggles),
 | 
			
		||||
                    )}`,
 | 
			
		||||
                );
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
		Loading…
	
		Reference in New Issue
	
	Block a user