From 35d3843d6882d025b2ee28077410f9e6d7f04b0d Mon Sep 17 00:00:00 2001 From: karishmas6 Date: Sat, 1 Jun 2024 11:19:01 +0530 Subject: [PATCH] feat: create remote browser to run interpretation --- server/src/browser-management/controller.ts | 22 +++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/server/src/browser-management/controller.ts b/server/src/browser-management/controller.ts index db63c060..731ef030 100644 --- a/server/src/browser-management/controller.ts +++ b/server/src/browser-management/controller.ts @@ -43,4 +43,26 @@ export const initializeRemoteBrowserForRecording = (options: RemoteBrowserOption }); return id; }; + +/** + * Starts and initializes a {@link RemoteBrowser} instance for interpretation. + * Creates a new {@link Socket} connection over a dedicated namespace. + * Returns the new remote browser's generated id. + * @param options {@link RemoteBrowserOptions} to be used when launching the browser + * @returns string + * @category BrowserManagement-Controller + */ +export const createRemoteBrowserForRun = (options: RemoteBrowserOptions): string => { + const id = uuid(); + createSocketConnectionForRun( + io.of(id), + async (socket: Socket) => { + const browserSession = new RemoteBrowser(socket); + await browserSession.initialize(options); + browserPool.addRemoteBrowser(id, browserSession, true); + socket.emit('ready-for-run'); + }); + return id; +}; + };