Spaces:
Runtime error
Runtime error
Download api/src/plugins/browser-socket/handlers/logs.handler.ts from supernovagateway/Steel: direct link, hf CLI and curl.
- Browser
- Download file 1.19 kB
-
https://huggingface.co/spaces/supernovagateway/Steel/resolve/main/api/src/plugins/browser-socket/handlers/logs.handler.ts
- Command line
-
hf download hf://spaces/supernovagateway/Steel/api/src/plugins/browser-socket/handlers/logs.handler.ts
-
curl -L -o logs.handler.ts https://huggingface.co/spaces/supernovagateway/Steel/resolve/main/api/src/plugins/browser-socket/handlers/logs.handler.ts
1.19 kB
| import { IncomingMessage } from "http"; | |
| import { Duplex } from "stream"; | |
| import { WebSocket } from "ws"; | |
| import { EmitEvent } from "../../../types/enums.js"; | |
| import { WebSocketHandler, WebSocketHandlerContext } from "../../../types/websocket.js"; | |
| function handleLogsWebSocket(context: WebSocketHandlerContext, ws: WebSocket) { | |
| const { fastify } = context; | |
| const messageHandler = (payload: { pageId: string }) => { | |
| if (ws.readyState === WebSocket.OPEN) { | |
| ws.send(JSON.stringify([payload])); | |
| } | |
| }; | |
| fastify.cdpService.on(EmitEvent.Log, messageHandler); | |
| ws.on("error", (err) => { | |
| fastify.log.error({ err }, "Logs WebSocket error"); | |
| }); | |
| ws.on("close", () => { | |
| fastify.log.info("Logs WebSocket connection closed"); | |
| fastify.cdpService.removeListener(EmitEvent.Log, messageHandler); | |
| }); | |
| } | |
| export const logsHandler: WebSocketHandler = { | |
| path: "/v1/sessions/logs", | |
| handler: ( | |
| request: IncomingMessage, | |
| socket: Duplex, | |
| head: Buffer, | |
| context: WebSocketHandlerContext, | |
| ) => { | |
| context.fastify.log.info("Connecting to logs..."); | |
| context.wss.handleUpgrade(request, socket, head, (ws) => handleLogsWebSocket(context, ws)); | |
| }, | |
| }; | |