This repository has been archived on 2025-03-10. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
wetsock/lib/index.js

37 lines
1.0 KiB
JavaScript

import { resolve } from 'path';
import WetSock from './WetSock';
import RoomPlugin from './WetSock/Plugins/Rooms/RoomPlugin';
const wetsock = new WetSock();
const rooms = new RoomPlugin();
wetsock.registerPlugin('rooms', rooms);
const server = Bun.serve({
port: process.env.APP_PORT || 3_000,
async fetch(req, server) {
const url = new URL(req.url);
if(url.pathname == '/chat') return wetsock.handleUpgrade(req, server);
let filePath = resolve(__dirname, 'WetSock', 'Client', 'Assets', 'index.html');
if(url.pathname == '/client.js') {
filePath = resolve(__dirname, 'WetSock', 'Client', 'Client.js');
}
const file = Bun.file(filePath);
if(!(await file.exists())) {
return new Response('Not found', {status: 404});
}
return new Response(file);
},
websocket: {
open: wetsock.handleOpen.bind(wetsock),
close: wetsock.handleClose.bind(wetsock),
message: wetsock.handleMessage.bind(wetsock),
drain: wetsock.handleDrain.bind(wetsock),
}
});
wetsock.start(server);