@rivetkit/cloudflare-workers 2.2.2-rc.1 → 2.3.0-rc.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +44 -6
- package/dist/mod.d.mts +44 -0
- package/dist/mod.d.ts +37 -81
- package/dist/mod.js +123 -1064
- package/dist/mod.js.map +1 -1
- package/dist/mod.mjs +152 -0
- package/dist/mod.mjs.map +1 -0
- package/package.json +52 -56
- package/LICENSE +0 -203
- package/dist/mod.cjs +0 -1093
- package/dist/mod.cjs.map +0 -1
- package/dist/mod.d.cts +0 -88
- package/src/actor-driver.ts +0 -373
- package/src/actor-handler-do.ts +0 -440
- package/src/actor-id.ts +0 -38
- package/src/actor-kv.ts +0 -120
- package/src/config.ts +0 -22
- package/src/global-kv.ts +0 -6
- package/src/handler.ts +0 -150
- package/src/log.ts +0 -5
- package/src/manager-driver.ts +0 -444
- package/src/mod.ts +0 -11
- package/src/util.ts +0 -104
- package/src/websocket.ts +0 -81
package/src/websocket.ts
DELETED
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
// Modified from https://github.com/honojs/hono/blob/40ea0eee58e39b31053a0246c595434f1094ad31/src/adapter/cloudflare-workers/websocket.ts#L17
|
|
2
|
-
//
|
|
3
|
-
// This version calls the open event by default
|
|
4
|
-
|
|
5
|
-
import type { UpgradeWebSocket, WSEvents, WSReadyState } from "hono/ws";
|
|
6
|
-
import { defineWebSocketHelper, WSContext } from "hono/ws";
|
|
7
|
-
import { WS_PROTOCOL_STANDARD } from "rivetkit/driver-helpers";
|
|
8
|
-
|
|
9
|
-
// Based on https://github.com/honojs/hono/issues/1153#issuecomment-1767321332
|
|
10
|
-
export const upgradeWebSocket: UpgradeWebSocket<
|
|
11
|
-
WebSocket,
|
|
12
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
13
|
-
any,
|
|
14
|
-
WSEvents<WebSocket>
|
|
15
|
-
> = defineWebSocketHelper(async (c, events) => {
|
|
16
|
-
const upgradeHeader = c.req.header("Upgrade");
|
|
17
|
-
if (upgradeHeader !== "websocket") {
|
|
18
|
-
return;
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
const webSocketPair = new WebSocketPair();
|
|
22
|
-
const client: WebSocket = webSocketPair[0];
|
|
23
|
-
const server: WebSocket = webSocketPair[1];
|
|
24
|
-
|
|
25
|
-
const wsContext = new WSContext<WebSocket>({
|
|
26
|
-
close: (code, reason) => server.close(code, reason),
|
|
27
|
-
get protocol() {
|
|
28
|
-
return server.protocol;
|
|
29
|
-
},
|
|
30
|
-
raw: server,
|
|
31
|
-
get readyState() {
|
|
32
|
-
return server.readyState as WSReadyState;
|
|
33
|
-
},
|
|
34
|
-
url: server.url ? new URL(server.url) : null,
|
|
35
|
-
send: (source) => server.send(source),
|
|
36
|
-
});
|
|
37
|
-
|
|
38
|
-
if (events.onClose) {
|
|
39
|
-
server.addEventListener("close", (evt: CloseEvent) =>
|
|
40
|
-
events.onClose?.(evt, wsContext),
|
|
41
|
-
);
|
|
42
|
-
}
|
|
43
|
-
if (events.onMessage) {
|
|
44
|
-
server.addEventListener("message", (evt: MessageEvent) =>
|
|
45
|
-
events.onMessage?.(evt, wsContext),
|
|
46
|
-
);
|
|
47
|
-
}
|
|
48
|
-
if (events.onError) {
|
|
49
|
-
server.addEventListener("error", (evt: Event) =>
|
|
50
|
-
events.onError?.(evt, wsContext),
|
|
51
|
-
);
|
|
52
|
-
}
|
|
53
|
-
|
|
54
|
-
server.accept?.();
|
|
55
|
-
|
|
56
|
-
// note: cloudflare actors doesn't support 'open' event, so we call it immediately with a fake event
|
|
57
|
-
//
|
|
58
|
-
// we have to do this after `server.accept() is called`
|
|
59
|
-
events.onOpen?.(new Event("open"), wsContext);
|
|
60
|
-
|
|
61
|
-
// Build response headers
|
|
62
|
-
const headers: Record<string, string> = {};
|
|
63
|
-
|
|
64
|
-
// Set Sec-WebSocket-Protocol if does not exist
|
|
65
|
-
const protocols = c.req.header("Sec-WebSocket-Protocol");
|
|
66
|
-
if (
|
|
67
|
-
typeof protocols === "string" &&
|
|
68
|
-
protocols
|
|
69
|
-
.split(",")
|
|
70
|
-
.map((x) => x.trim())
|
|
71
|
-
.includes(WS_PROTOCOL_STANDARD)
|
|
72
|
-
) {
|
|
73
|
-
headers["Sec-WebSocket-Protocol"] = WS_PROTOCOL_STANDARD;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
return new Response(null, {
|
|
77
|
-
status: 101,
|
|
78
|
-
headers,
|
|
79
|
-
webSocket: client,
|
|
80
|
-
});
|
|
81
|
-
});
|