summaryrefslogtreecommitdiff
path: root/cli/bench
diff options
context:
space:
mode:
authorMatt Mastracci <matthew@mastracci.com>2023-04-22 11:48:21 -0600
committerGitHub <noreply@github.com>2023-04-22 11:48:21 -0600
commitbdffcb409fd1e257db280ab73e07cc319711256c (patch)
tree9aca1c1e73f0249bba8b66781b79c358a7a00798 /cli/bench
parentd137501a639cb315772866f6775fcd9f43e28f5b (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')
-rw-r--r--cli/bench/http/deno_http_serve_https.js18
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 });