sub #215
@@ -1,7 +1,7 @@
|
|||||||
import { parseArgs } from "util";
|
import { parseArgs } from "util";
|
||||||
|
|
||||||
async function main({ url, domain }: { url: string; domain?: string }) {
|
async function main({ url, domain, subdomain }: { url: string; domain?: string, subdomain?: string }) {
|
||||||
const serverUrl = `ws://${domain || "localhost:1234"}?new`;
|
const serverUrl = `ws://${domain || "localhost:1234"}?new${subdomain ? `&subdomain=${subdomain}` : ""}`;
|
||||||
const socket = new WebSocket(serverUrl);
|
const socket = new WebSocket(serverUrl);
|
||||||
|
|
||||||
socket.addEventListener("message", (event) => {
|
socket.addEventListener("message", (event) => {
|
||||||
@@ -38,9 +38,13 @@ const { values } = parseArgs({
|
|||||||
type: "string",
|
type: "string",
|
||||||
short: "d",
|
short: "d",
|
||||||
},
|
},
|
||||||
|
subdomain: {
|
||||||
|
type: "string",
|
||||||
|
short: "s",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
allowPositionals: true,
|
allowPositionals: true,
|
||||||
});
|
});
|
||||||
|
|
||||||
if (!values.port) throw "pass --port 3000";
|
if (!values.port) throw "pass --port 3000";
|
||||||
main({ url: `localhost:${values.port}`, domain: values.domain });
|
main({ url: `localhost:${values.port}`, domain: values.domain, subdomain: values.subdomain });
|
||||||
|
|||||||
@@ -16,7 +16,8 @@ serve<Client>({
|
|||||||
const reqUrl = new URL(req.url);
|
const reqUrl = new URL(req.url);
|
||||||
|
|
||||||
if (reqUrl.searchParams.has("new")) {
|
if (reqUrl.searchParams.has("new")) {
|
||||||
const upgraded = server.upgrade(req, { data: { id: uid() } });
|
const id = reqUrl.searchParams.get("subdomain") || uid();
|
||||||
|
const upgraded = server.upgrade(req, { data: { id } });
|
||||||
if (upgraded) return;
|
if (upgraded) return;
|
||||||
else return new Response("Upgrade failed :(", { status: 500 });
|
else return new Response("Upgrade failed :(", { status: 500 });
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user