aboutsummaryrefslogtreecommitdiff
path: root/src/bun.js/api/server.classes.ts
diff options
context:
space:
mode:
authorGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-10-15 03:06:41 -0700
committerGravatar Jarred Sumner <709451+Jarred-Sumner@users.noreply.github.com> 2022-10-15 03:06:41 -0700
commit4b5af13ac09e32e8e446cb8000fe5d8d101b3afb (patch)
treed7431bfea4723717fe4a2f6db89b2a97d017f201 /src/bun.js/api/server.classes.ts
parent35cbfa63a6e54d37ad5edb14ef2c025acf7bbddd (diff)
downloadbun-4b5af13ac09e32e8e446cb8000fe5d8d101b3afb.tar.gz
bun-4b5af13ac09e32e8e446cb8000fe5d8d101b3afb.tar.zst
bun-4b5af13ac09e32e8e446cb8000fe5d8d101b3afb.zip
WebSocket Server support
Diffstat (limited to 'src/bun.js/api/server.classes.ts')
-rw-r--r--src/bun.js/api/server.classes.ts78
1 files changed, 78 insertions, 0 deletions
diff --git a/src/bun.js/api/server.classes.ts b/src/bun.js/api/server.classes.ts
new file mode 100644
index 000000000..5ae4f1739
--- /dev/null
+++ b/src/bun.js/api/server.classes.ts
@@ -0,0 +1,78 @@
+import { define } from "../scripts/class-definitions";
+
+function generate(name) {
+ return define({
+ name,
+ proto: {
+ fetch: {
+ fn: "fetch",
+ length: 1,
+ },
+ },
+ values: ["callback"],
+ klass: {},
+ finalize: true,
+ construct: true,
+ });
+}
+export default [
+ // generate(`HTTPServer`),
+ // generate(`DebugModeHTTPServer`),
+ // generate(`HTTPSServer`),
+ // generate(`DebugModeHTTPSServer`),
+
+ define({
+ name: "ServerWebSocket",
+ JSType: "0b11101110",
+ proto: {
+ send: {
+ fn: "send",
+ length: 2,
+ },
+ close: {
+ fn: "close",
+ length: 1,
+ },
+ getBufferedAmount: {
+ fn: "getBufferedAmount",
+ length: 0,
+ },
+ publish: {
+ fn: "publish",
+ length: 3,
+ },
+ data: {
+ getter: "getData",
+ cache: true,
+ setter: "setData",
+ },
+ readyState: {
+ getter: "getReadyState",
+ },
+ subscribe: {
+ fn: "subscribe",
+ length: 1,
+ },
+ unsubscribe: {
+ fn: "unsubscribe",
+ length: 1,
+ },
+ isSubscribed: {
+ fn: "isSubscribed",
+ length: 1,
+ },
+
+ // topics: {
+ // getter: "getTopics",
+ // },
+
+ remoteAddress: {
+ getter: "getRemoteAddress",
+ cache: true,
+ },
+ },
+ finalize: true,
+ construct: true,
+ klass: {},
+ }),
+];