33 lines
865 B
JavaScript
33 lines
865 B
JavaScript
import { resolve } from 'path';
|
|
|
|
import WetSock from './WetSock';
|
|
|
|
|
|
const wetsock = new WetSock();
|
|
|
|
const server = Bun.serve({
|
|
port: process.env.APP_PORT || 43_069,
|
|
fetch(req, server) {
|
|
const url = new URL(req.url);
|
|
if(url.pathname == '/chat') return wetsock.handleUpgrade(req, server);
|
|
|
|
if(url.pathname == '/client.js') {
|
|
const filePath = resolve(__dirname, 'WetSock', 'Client', 'Client.js');
|
|
const file = Bun.file(filePath);
|
|
return new Response(file);
|
|
}
|
|
|
|
const filePath = resolve(__dirname, 'views', 'index.html');
|
|
const file = Bun.file(filePath);
|
|
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);
|