import { serveTls } from "https://deno.land/x/frugal@0.3.0/dep/std/http.ts";
Serves HTTPS requests with the given handler.
You must specify key
or keyFile
and cert
or certFile
options.
You can specify an object with a port and hostname option, which is the address to listen on. The default is port 8443 on hostname "0.0.0.0".
The below example serves with the default port 8443.
import { serveTls } from "https://deno.land/std@0.224.0/http/server.ts";
const cert = "-----BEGIN CERTIFICATE-----\n...\n-----END CERTIFICATE-----\n";
const key = "-----BEGIN PRIVATE KEY-----\n...\n-----END PRIVATE KEY-----\n";
serveTls((_req) => new Response("Hello, world"), { cert, key });
// Or
const certFile = "/path/to/certFile.crt";
const keyFile = "/path/to/keyFile.key";
serveTls((_req) => new Response("Hello, world"), { certFile, keyFile });
serveTls
function prints the message Listening on https://<hostname>:<port>/
on start-up by default. If you like to change this message, you can specify
onListen
option to override it.
import { serveTls } from "https://deno.land/std@0.224.0/http/server.ts";
const certFile = "/path/to/certFile.crt";
const keyFile = "/path/to/keyFile.key";
serveTls((_req) => new Response("Hello, world"), {
certFile,
keyFile,
onListen({ port, hostname }) {
console.log(`Server started at https://${hostname}:${port}`);
// ... more info specific to your server ..
},
});
You can also specify undefined
or null
to stop the logging behavior.
import { serveTls } from "https://deno.land/std@0.224.0/http/server.ts";
const certFile = "/path/to/certFile.crt";
const keyFile = "/path/to/keyFile.key";
serveTls((_req) => new Response("Hello, world"), {
certFile,
keyFile,
onListen: undefined,
});
Parameters
handler: Handler
The handler for individual HTTPS requests.
options: ServeTlsInit
The options. See ServeTlsInit
documentation for details.