diff options
author | Matt Mastracci <matthew@mastracci.com> | 2023-04-22 11:48:21 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-22 11:48:21 -0600 |
commit | bdffcb409fd1e257db280ab73e07cc319711256c (patch) | |
tree | 9aca1c1e73f0249bba8b66781b79c358a7a00798 /cli/bench/http/deno_http_serve_https.js | |
parent | d137501a639cb315772866f6775fcd9f43e28f5b (diff) |
feat(ext/http): Rework Deno.serve using hyper 1.0-rc3 (#18619)
This is a rewrite of the `Deno.serve` API to live on top of hyper
1.0-rc3. The code should be more maintainable long-term, and avoids some
of the slower mpsc patterns that made the older code less efficient than
it could have been.
Missing features:
- `upgradeHttp` and `upgradeHttpRaw` (`upgradeWebSocket` is available,
however).
- Automatic compression is unavailable on responses.
Diffstat (limited to 'cli/bench/http/deno_http_serve_https.js')
-rw-r--r-- | cli/bench/http/deno_http_serve_https.js | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/cli/bench/http/deno_http_serve_https.js b/cli/bench/http/deno_http_serve_https.js new file mode 100644 index 000000000..cea659e09 --- /dev/null +++ b/cli/bench/http/deno_http_serve_https.js @@ -0,0 +1,18 @@ +// Copyright 2018-2023 the Deno authors. All rights reserved. MIT license. + +const addr = Deno.args[0] ?? "127.0.0.1:4500"; +const [hostname, port] = addr.split(":"); +const { serve } = Deno; + +function readFileSync(file) { + return Deno.readTextFileSync(new URL(file, import.meta.url).pathname); +} + +const CERT = readFileSync("../../tests/testdata/tls/localhost.crt"); +const KEY = readFileSync("../../tests/testdata/tls/localhost.key"); + +function handler() { + return new Response("Hello World"); +} + +serve(handler, { hostname, port, reusePort: true, cert: CERT, key: KEY }); |