| 17 | } |
| 18 | |
| 19 | export default class ChromiumBrowserWebSocketRoute extends BrowserWebsocketRoute { |
| 20 | name = BrowserlessRoutes.ChromiumBrowserWebSocketRoute; |
| 21 | auth = true; |
| 22 | browser = ChromiumCDP; |
| 23 | concurrency = true; |
| 24 | bypassLimits = (): boolean => true; |
| 25 | description = dedent( |
| 26 | `Connect to an already-running Chromium process with a library like |
| 27 | puppeteer, or others, that work over chrome-devtools-protocol. Chromium |
| 28 | must already be launched in order to not return a 404.`, |
| 29 | ); |
| 30 | path = WebsocketRoutes.browser; |
| 31 | tags = [APITags.browserWS]; |
| 32 | async handler( |
| 33 | req: Request, |
| 34 | socket: Duplex, |
| 35 | head: Buffer, |
| 36 | _logger: Logger, |
| 37 | browser: ChromiumCDP, |
| 38 | ): Promise<void> { |
| 39 | return browser.proxyWebSocket(req, socket, head); |
| 40 | } |
| 41 | } |