16 lines
345 B
TypeScript
16 lines
345 B
TypeScript
/// <reference lib="deno.ns" />
|
|
|
|
export function startServer(
|
|
handler: Deno.ServeHandler,
|
|
hostname: string = "localhost",
|
|
port: number = 8042,
|
|
): () => Promise<void> {
|
|
const ac = new AbortController();
|
|
const server = Deno.serve({ hostname, port, signal: ac.signal }, handler);
|
|
|
|
return () => {
|
|
ac.abort();
|
|
return server.finished;
|
|
};
|
|
}
|