Heyang Zhou
9e2fac050f
feat: prioritize DENO_SERVE_ADDRESS over Deno.serve options ( #6 )
2024-08-09 02:18:21 +08:00
Bert Belder
f14ae37686
fix(ext/http): preserve authority and scheme from absolute URLs ( #4 )
2024-08-06 13:55:59 -07:00
losfair
82c97d3fd4
feat(serve): env var DENO_SERVE_ADDRESS
for configuring default listen address
2024-07-17 23:46:27 +08:00
denobot
3a48bc695f
chore: forward v1.45.2 release commit to main ( #24564 )
...
Co-authored-by: dsherret <dsherret@users.noreply.github.com>
2024-07-12 18:05:45 -04:00
denobot
0be4c8947d
chore: forward v1.45.1 release commit to main ( #24540 )
...
This is the release commit being forwarded back to main for 1.45.1
Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com>
2024-07-12 01:14:14 +02:00
denobot
04ff5c731d
1.45.0 ( #24512 )
...
Bumped versions for 1.45.0
---------
Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com>
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-07-11 00:08:02 +02:00
ud2
88e3f465d3
refactor(ext): remove use of brotli::ffi
( #24214 )
2024-06-20 20:44:24 +05:30
denobot
6c6ee02dfd
chore: forward v1.44.4 release commit to main ( #24271 )
...
This is the release commit being forwarded back to main for 1.44.4
Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com>
2024-06-19 20:29:53 +02:00
denobot
1d6b775f81
chore: forward v1.44.3 release commit to main ( #24256 )
...
This is the release commit being forwarded back to main for 1.44.3
Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com>
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-06-19 03:17:32 +02:00
Luca Casonato
abc6981468
fix(ext/http): actually await goAhead
promise ( #24226 )
2024-06-17 16:05:49 +02:00
Divy Srivastava
e19ee6eecc
fix(ext/node): server.close()
does graceful shutdown ( #24184 )
2024-06-14 06:38:50 +05:30
denobot
efb2085b61
chore: forward v1.44.2 release commit to main ( #24194 )
...
Co-authored-by: nathanwhit <nathanwhit@users.noreply.github.com>
2024-06-13 01:57:22 +00:00
Luca Casonato
f5d749d922
fix(ext/http): print []
around ipv6 addresses ( #24150 )
2024-06-09 02:03:07 +02:00
denobot
4d531bf229
chore: forward v1.44.1 release commit to main ( #24115 )
...
This is the release commit being forwarded back to main for 1.44.1
Co-authored-by: devsnek <devsnek@users.noreply.github.com>
Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
2024-06-06 03:23:10 +00:00
denobot
9e2971d40f
1.44.0 ( #24045 )
...
Bumped versions for 1.44.0
Co-authored-by: littledivy <littledivy@users.noreply.github.com>
2024-05-30 04:49:23 +00:00
Bartek Iwańczuk
7d8a8a0461
fix(ext/http): flush gzip streaming response ( #23991 )
...
This commit changes `gzip` compression in `Deno.serve` API to flush data
after each write. There's a slight performance regression, but provided
test shows a scenario that was not possible before.
---------
Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
2024-05-28 22:46:04 +02:00
Alex Gleason
f8975a8ecb
fix(ext/websocket): change default idleTimeout to 30s ( #23985 )
...
Change the default server websocket `idleTimeout` to 30s to work with common Nginx setups which have a default timeout of 60 seconds
2024-05-26 10:46:05 +05:30
Luca Casonato
971f09abe4
fix(runtime): use more null proto objects ( #23921 )
...
This is a primordialization effort to improve resistance against users
tampering with the global `Object` prototype.
---------
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-05-23 00:03:35 +02:00
Bartek Iwańczuk
fabd9a214b
chore: forward v1.43.6 release commit to main ( #23936 )
...
Bumped versions for 1.43.6
Co-authored-by: denobot <33910674+denobot@users.noreply.github.com>
Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com>
2024-05-22 01:35:04 +00:00
Satya Rohith
327c31cd21
chore: bump deno_http version ( #23866 )
2024-05-17 15:50:49 +00:00
Marvin Hagemeister
812f2e4c22
fix: serve handler error with 0 arguments ( #23652 )
...
Fixes https://github.com/denoland/deno/issues/23651
Co-authored-by: Satya Rohith <me@satyarohith.com>
2024-05-17 18:05:19 +05:30
Bartek Iwańczuk
2b560be83f
chore: forward v1.43.4 commit to main ( #23861 )
...
Co-authored-by: denobot <33910674+denobot@users.noreply.github.com>
Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com>
2024-05-17 03:57:53 +02:00
denobot
dac49a116e
chore: forward v1.43.3 release commit to main ( #23771 )
...
Co-authored-by: David Sherret <dsherret@gmail.com>
2024-05-10 19:20:34 -04:00
David Sherret
47f7bed677
chore: enable clippy::print_stdout and clippy::print_stderr ( #23732 )
...
1. Generally we should prefer to use the `log` crate.
2. I very often accidentally commit `eprintln`s.
When we should use `println` or `eprintln`, it's not too bad to be a bit
more verbose and ignore the lint rule.
2024-05-08 22:45:06 -04:00
denobot
e6dc4dfbff
chore: forward v1.43.2 release commit to main ( #23749 )
...
**THIS PR HAS GIT CONFLICTS THAT MUST BE RESOLVED**
This is the release commit being forwarded back to main for 1.43.2
Please ensure:
- [x] Everything looks ok in the PR
- [x] The release has been published
To make edits to this PR:
```shell
git fetch upstream forward_v1.43.2 && git checkout -b forward_v1.43.2 upstream/forward_v1.43.2
```
Don't need this PR? Close it.
cc @nathanwhit
Co-authored-by: nathanwhit <nathanwhit@users.noreply.github.com>
Co-authored-by: Nathan Whitaker <nathan@deno.com>
2024-05-09 00:45:01 +00:00
denobot
5ff881a073
1.43.0 ( #23629 )
...
Bumped versions for 1.43.0
Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
2024-05-01 12:16:39 +05:30
Matt Mastracci
084eafe508
perf(ext/http): recover memory for serve and optimize AbortController ( #23559 )
...
Max rps without a signal is unchanged, however we can drastically reduce
memory usage by not creating the signal until needed, and we can
optimize the rps in the case where the signal is created.
With a quick memory benchmark, it looks like this helps pretty
drastically with # of GCs when benchmarking w/wrk:
- 1.42.4: 1763
- canary: 1093
- this patch: 874
This branch:
```
Running 10s test @ http://localhost:8080/
2 threads and 10 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 87.33us 439.95us 20.68ms 99.67%
Req/Sec 66.70k 6.39k 74.11k 83.66%
1340255 requests in 10.10s, 191.73MB read
Requests/sec: 132696.90
Transfer/sec: 18.98MB
cpu: Apple M2 Pro
runtime: deno 1.43.0 (aarch64-apple-darwin)
file:///Users/matt/Documents/scripts/bench_request.js
benchmark time (avg) iter/s (min … max) p75 p99 p995
----------------------------------------------------------------------------------------------- -----------------------------
newRequest 986.5 ns/iter 1,013,682.6 (878.2 ns … 1.18 µs) 1.01 µs 1.18 µs 1.18 µs
newAbortController 18 ns/iter 55,541,104.1 (15.6 ns … 42.62 ns) 17.71 ns 25.05 ns 26.27 ns
newAbortControllerSignal 18.66 ns/iter 53,578,966.7 (16.49 ns … 32.16 ns) 18.71 ns 25.67 ns 26.39 ns
newAbortControllerSignalOnAbort 106.49 ns/iter 9,390,164.9 (97.87 ns … 120.61 ns) 108.6 ns 114.24 ns 115.89 ns
newAbortControllerSignalAddEventListener 86.92 ns/iter 11,504,880.2 (81.88 ns … 103.15 ns) 90 ns 98.28 ns 99.55 ns
newAbortControllerSignalOnAbortNoListener 3.01 µs/iter 331,964.4 (2.97 µs … 3.1 µs) 3.06 µs 3.1 µs 3.1 µs
newAbortControllerSignalOnAbortAbort 3.26 µs/iter 306,662.6 (3.22 µs … 3.36 µs) 3.27 µs 3.36 µs 3.36 µs
```
Latest canary:
```
Running 10s test @ http://localhost:8080/
2 threads and 10 connections
Thread Stats Avg Stdev Max +/- Stdev
Latency 72.86us 71.23us 4.47ms 99.05%
Req/Sec 64.66k 5.54k 72.48k 82.18%
1299015 requests in 10.10s, 185.83MB read
Requests/sec: 128616.02
Transfer/sec: 18.40MB
cpu: Apple M2 Pro
runtime: deno 1.43.0+bc4aa5f (aarch64-apple-darwin)
file:///Users/matt/Documents/scripts/bench_request.js
benchmark time (avg) iter/s (min … max) p75 p99 p995
----------------------------------------------------------------------------------------------- -----------------------------
newRequest 1.25 µs/iter 800,005.2 (1.01 µs … 4.18 µs) 1.16 µs 4.18 µs 4.18 µs
newAbortController 18.56 ns/iter 53,868,204.3 (16.04 ns … 38.73 ns) 18.38 ns 26.1 ns 26.63 ns
newAbortControllerSignal 18.72 ns/iter 53,430,746.1 (16.13 ns … 36.71 ns) 18.71 ns 26.19 ns 26.98 ns
newAbortControllerSignalOnAbort 193.91 ns/iter 5,156,992.4 (184.25 ns … 211.41 ns) 194.96 ns 207.87 ns 209.4 ns
newAbortControllerSignalAddEventListener 171.45 ns/iter 5,832,569.2 (153 ns … 182.03 ns) 176.17 ns 180.75 ns 181.05 ns
newAbortControllerSignalOnAbortNoListener 3.07 µs/iter 326,263.3 (2.98 µs … 3.17 µs) 3.08 µs 3.17 µs 3.17 µs
newAbortControllerSignalOnAbortAbort 3.32 µs/iter 301,344.6 (3.29 µs … 3.4 µs) 3.33 µs 3.4 µs 3.4 µs
```
2024-04-25 14:52:24 -04:00
denobot
8321106b78
1.43.0 ( #23549 )
...
Bumped versions for 1.43.0
Co-authored-by: littledivy <littledivy@users.noreply.github.com>
2024-04-25 15:14:26 +05:30
Divy Srivastava
e98862deb2
perf(ext/http): cache abort signal error ( #23548 )
...
Fixes a perf regression introduced in
eed2598e6c
([flamegraph](https://profiler.firefox.com/public/83whz7mrfkshk5q6hd6hjmrmw8tgmw67s96m4p0/flame-graph/?globalTrackOrder=0&hiddenLocalTracksByPid=12691-0we&symbolServer=http%3A%2F%2F127.0.0.1%3A3000%2F316cvciry38ippl9i74fmcxrd5q9asfrr28xp02&thread=0&v=10 ))
this patch:
```
Summary:
Success rate: 100.00%
Total: 10.0007 secs
Slowest: 0.0145 secs
Fastest: 0.0001 secs
Average: 0.0006 secs
Requests/sec: 80341.4816
Total data: 9.19 MiB
Size/request: 12
Size/sec: 941.44 KiB
```
main:
```
Summary:
Success rate: 100.00%
Total: 10.0007 secs
Slowest: 0.0068 secs
Fastest: 0.0002 secs
Average: 0.0009 secs
Requests/sec: 56560.0551
Total data: 6.47 MiB
Size/request: 12
Size/sec: 662.75 KiB
```
2024-04-25 09:20:01 +02:00
Matt Mastracci
2f8825a935
feat: Add deno serve
subcommand ( #23511 )
...
By default, `deno serve` will assign port 8000 (like `Deno.serve`).
Users may choose a different port using `--port`.
`deno serve /tmp/file.ts`
`server.ts`:
```ts
export default {
fetch(req) {
return new Response("hello world!\n");
},
};
```
2024-04-24 19:45:49 +00:00
Matt Mastracci
eed2598e6c
feat(ext/http): Implement request.signal for Deno.serve ( #23425 )
...
When the response has been successfully send, we abort the
`Request.signal` property to indicate that all resources associated with
this transaction may be torn down.
2024-04-24 14:03:37 -04:00
Matt Mastracci
9425dce6db
refactor(ext/http): extract 02_websocket.ts from 01_http.js ( #23460 )
...
Landing part of https://github.com/denoland/deno/pull/21903
This will allow us to more easily refactor `serveHttp` to live on top of
`serve` by splitting the websocket code out. There's probably a lot more
we could do here but this helps.
2024-04-19 20:02:39 -06:00
Matt Mastracci
365e1f48f7
feat(ext/http): Add addr
to HttpServer ( #23442 )
...
Adds an `addr` field to `HttpServer` to simplify the pattern
`Deno.serve({ onListen({ port } => listenPort = port })`. This becomes:
`const server = Deno.serve({}); port = server.addr.port`.
Changes:
- Refactors `serve` overloads to split TLS out (in preparation for
landing a place for the TLS SNI information)
- Adds an `addr` field to `HttpServer` that matches the `addr` field of
the corresponding `Deno.Listener`s.
2024-04-19 18:09:50 -06:00
Matt Mastracci
d9d3f81f29
chore: remove unused, unstable 'http' namespace ( #23436 )
...
Landing parts of #21903 in preparation for the removal of serveHttp.
2024-04-18 11:21:25 -06:00
Bartek Iwańczuk
0a7f46b8c2
chore: forward v1.42.4 commit to main
( #23394 )
...
Co-authored-by: denobot <33910674+denobot@users.noreply.github.com>
Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com>
2024-04-16 02:41:59 +00:00
denobot
c92f118652
chore: forward v1.42.3 release commit to main ( #23335 )
...
Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com>
2024-04-12 04:19:46 +00:00
denobot
ca7432b86b
chore: forward v1.42.2 release commit to main ( #23315 )
...
Co-authored-by: Satya Rohith <me@satyarohith.com>
2024-04-11 13:37:24 +05:30
林炳权
9304126be5
chore: update to Rust 1.77.2 ( #23262 )
...
update to Rust 1.77.2
---------
Co-authored-by: Matt Mastracci <matthew@mastracci.com>
2024-04-10 22:08:23 +00:00
Matt Mastracci
47061a4539
feat(ext/net): Refactor TCP socket listeners for future clustering mode ( #23037 )
...
Changes:
- Implements a TCP socket listener that will allow for round-robin
load-balancing in-process.
- Cleans up the raw networking code to make it easier to work with.
2024-04-08 16:18:14 -06:00
Bartek Iwańczuk
d3b63bb315
fix(ext/http): Make Deno.serveHttp()
work when proxying ( #23269 )
...
Closes https://github.com/denoland/deno/issues/21900
2024-04-08 15:02:49 -06:00
Matt Mastracci
cb12a93503
refactor(ext/tls): use cppgc to deduplicate the tls key loading code ( #23289 )
...
Pass the certificates and key files as CPPGC objects.
Towards #23233
2024-04-08 15:01:02 -06:00
denobot
8d158058e5
chore: forward v1.42.1 release commit to main ( #23162 )
...
This is the release commit being forwarded back to main for 1.42.1
Co-authored-by: littledivy <littledivy@users.noreply.github.com>
2024-04-01 13:35:46 +05:30
denobot
9c6eca1064
1.42.0 ( #23105 )
...
Bumped versions for 1.42.0
Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com>
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-03-28 01:47:33 +01:00
Nathan Whitaker
85116226b3
chore: Forward 1.41.3 release commit ( #22930 )
...
Forward 1.41.3 release commit
Co-authored-by: denobot <33910674+denobot@users.noreply.github.com>
Co-authored-by: nathanwhit <nathanwhit@users.noreply.github.com>
2024-03-14 21:23:24 +00:00
denobot
44da066359
chore: forward v1.41.2 release commit to main ( #22793 )
...
This is the release commit being forwarded back to main for 1.41.2
Signed-off-by: Divy Srivastava <dj.srivastava23@gmail.com>
Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
2024-03-08 09:12:36 +00:00
cui fliter
d4b3b39cc0
chore: fix typos ( #22677 )
2024-03-04 14:28:57 +00:00
denobot
404422519c
chore: forward v1.41.1 release commit to main ( #22643 )
...
Co-authored-by: dsherret <dsherret@users.noreply.github.com>
2024-02-29 20:56:08 -05:00
denobot
118445103b
1.41.0 ( #22524 )
...
Bumped versions for 1.41.0
Co-authored-by: bartlomieju <bartlomieju@users.noreply.github.com>
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2024-02-22 02:44:05 +01:00
denobot
7d47a85b57
chore: forward v1.40.5 release commit to main ( #22424 )
...
This is the release commit being forwarded back to main for 1.40.5
Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
2024-02-15 12:15:36 +05:30
denobot
ed34429a5f
chore: forward v1.40.4 release commit to main ( #22345 )
...
This is the release commit being forwarded back to main for 1.40.4
Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
2024-02-08 12:39:39 +00:00