Download node_modules/hono/dist/adapter/cloudflare-workers/websocket.js from Snapkitty/agentscope-sift: direct link, hf CLI and curl.
- Browser
- Download file 1.3 kB
-
https://huggingface.co/Snapkitty/agentscope-sift/resolve/main/node_modules/hono/dist/adapter/cloudflare-workers/websocket.js
- Command line
-
hf download hf://Snapkitty/agentscope-sift/node_modules/hono/dist/adapter/cloudflare-workers/websocket.js
-
curl -L -o websocket.js https://huggingface.co/Snapkitty/agentscope-sift/resolve/main/node_modules/hono/dist/adapter/cloudflare-workers/websocket.js
1.3 kB
| // src/adapter/cloudflare-workers/websocket.ts | |
| import { WSContext, defineWebSocketHelper } from "../../helper/websocket/index.js"; | |
| var upgradeWebSocket = defineWebSocketHelper(async (c, events) => { | |
| const upgradeHeader = c.req.header("Upgrade"); | |
| if (upgradeHeader !== "websocket") { | |
| return; | |
| } | |
| const webSocketPair = new WebSocketPair(); | |
| const client = webSocketPair[0]; | |
| const server = webSocketPair[1]; | |
| const wsContext = new WSContext({ | |
| close: (code, reason) => server.close(code, reason), | |
| get protocol() { | |
| return server.protocol; | |
| }, | |
| raw: server, | |
| get readyState() { | |
| return server.readyState; | |
| }, | |
| url: server.url ? new URL(server.url) : null, | |
| send: (source) => server.send(source) | |
| }); | |
| if (events.onClose) { | |
| server.addEventListener("close", (evt) => events.onClose?.(evt, wsContext)); | |
| } | |
| if (events.onMessage) { | |
| server.addEventListener("message", (evt) => events.onMessage?.(evt, wsContext)); | |
| } | |
| if (events.onError) { | |
| server.addEventListener("error", (evt) => events.onError?.(evt, wsContext)); | |
| } | |
| server.accept?.(); | |
| return new Response(null, { | |
| status: 101, | |
| // @ts-expect-error - webSocket is not typed | |
| webSocket: client | |
| }); | |
| }); | |
| export { | |
| upgradeWebSocket | |
| }; | |