diff --git a/server/src/browser-management/controller.ts b/server/src/browser-management/controller.ts index 731ef030..39b8f931 100644 --- a/server/src/browser-management/controller.ts +++ b/server/src/browser-management/controller.ts @@ -65,4 +65,20 @@ export const createRemoteBrowserForRun = (options: RemoteBrowserOptions): string return id; }; +/** + * Terminates a remote browser recording session + * and removes the browser from the browser pool. + * @param id instance id of the remote browser to be terminated + * @returns {Promise} + * @category BrowserManagement-Controller + */ +export const destroyRemoteBrowser = async (id: string) : Promise => { + const browserSession = browserPool.getRemoteBrowser(id); + if (browserSession) { + logger.log('debug', `Switching off the browser with id: ${id}`); + await browserSession.stopCurrentInterpretation(); + await browserSession.switchOff(); + } + return browserPool.deleteRemoteBrowser(id); +}; };