Skip to main content

Function: serve()

serve(options): Server

Start an HTTP server.

const server = tjs.serve({
fetch(request) {
return new Response('Hello World!');
},
port: 8080,
});

A shorthand is also available when only a fetch handler is needed:

const server = tjs.serve((request) => new Response('Hello!'));

To enable HTTPS, provide TLS certificate and key as PEM strings:

const cert = new TextDecoder().decode(await tjs.readFile('cert.pem'));
const key = new TextDecoder().decode(await tjs.readFile('key.pem'));

const server = tjs.serve({
fetch(request) {
return new Response('Hello HTTPS!');
},
port: 8443,
tls: { cert, key },
});

close() returns a promise that resolves once the server has fully shut down; prefer await server.close() (or await using) when you need to wait for the listening socket to be released:

await using server = tjs.serve(request => new Response('ok'));
// ...use server...
// server.close() runs automatically at scope exit.

Parameters

options

ServeOptions | FetchHandler

Server options or a fetch handler function.

Returns

Server

The server instance.