first commit
This commit is contained in:
46
index.js
Normal file
46
index.js
Normal file
@ -0,0 +1,46 @@
|
||||
let serverSockets = {};
|
||||
const server = Bun.serve({
|
||||
port: 3000,
|
||||
routes: {
|
||||
"/admin": Response("admin panel wip"),
|
||||
"/api/*": Response.json({"success": false, "reason": "API has not been implemented."})
|
||||
},
|
||||
websocket: {
|
||||
message(ws, message) {
|
||||
// console.log(serverSockets[ws.data.uuid]);
|
||||
// console.log(message);
|
||||
if(serverSockets[ws.data.uuid].readyState != 1) {
|
||||
serverSockets[ws.data.uuid].addEventListener("open", ()=>{
|
||||
serverSockets[ws.data.uuid].send(message);
|
||||
})
|
||||
} else {
|
||||
serverSockets[ws.data.uuid].send(message);
|
||||
}
|
||||
},
|
||||
open(ws) {
|
||||
// console.log(ws);
|
||||
let socket = new WebSocket(`wss://${ws.data.url}`);
|
||||
socket.addEventListener("message", event => {
|
||||
ws.send(event.data);
|
||||
});
|
||||
socket.addEventListener("close", event => {
|
||||
ws.close();
|
||||
delete serverSockets[ws.data.uuid];
|
||||
});
|
||||
serverSockets[ws.data.uuid] = socket;
|
||||
},
|
||||
close(ws, code, message) {
|
||||
serverSockets[ws.data.uuid].close();
|
||||
delete serverSockets[ws.data.uuid];
|
||||
},
|
||||
drain(ws) {},
|
||||
},
|
||||
fetch(req) {
|
||||
if (server.upgrade(req, { data: { url: new URL(req.url).pathname.substring(1), uuid: crypto.randomUUID() } })) {
|
||||
return;
|
||||
}
|
||||
return Response("server up");
|
||||
}
|
||||
})
|
||||
|
||||
console.log("server up");
|
Reference in New Issue
Block a user