Ben Noordhuis
16ea39ee48
fix(ext/http): fortify "is websocket?" check ( #12179 )
...
Check for expected headers more rigorously and check that it's a
HTTP/1.1 GET request. The logic mirrors what Deno Deploy and the
tungstenite crate do.
The presence of "Sec-Websocket-Version: 13" is now also enforced.
I don't expect that to break anything: conforming clients already
send it and tungstenite can't talk to older clients anyway.
The new code is more efficient due to heap-allocating less and aligns
more closely with the checks in ext/http/01_http.js now.
2021-09-25 10:02:26 +02:00
Kitson Kelly
2a56cd545c
chore: bump crate versions for 1.14.1 ( #12172 )
2021-09-22 06:53:47 +10:00
David Sherret
16c27fce1f
chore: bump crate versions for 0.14 ( #12072 )
2021-09-14 15:38:35 -04:00
Bartek Iwańczuk
ba8bbe6f1c
refactor: use Deno.core.tryClose ( #11980 )
2021-09-11 02:54:37 +02:00
Bert Belder
fa963909e5
perf(ext/http): optimize auto cleanup of request resource ( #11978 )
...
Fixes #11963 .
2021-09-10 15:47:09 -07:00
Bartek Iwańczuk
b31dad89a6
chore: add README to ext/http/ ( #11958 )
2021-09-08 20:48:28 +02:00
Bartek Iwańczuk
85e316bd6b
chore: release deno_http 0.8.0 ( #11956 )
2021-09-08 19:32:19 +02:00
Bartek Iwańczuk
2de5587547
fix(ext/http): resource leak if request body is not consumed ( #11955 )
2021-09-08 10:12:23 +02:00
Luca Casonato
1bf7b90ca8
chore: update dependencies ( #11856 )
...
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2021-09-02 23:38:44 +02:00
Luca Casonato
fcd0992dba
fix: move unstable declarations to deno.unstable ( #11876 )
2021-08-31 11:25:15 +02:00
Dayan C. Galiazzi
873cce27b8
fix(ext/http): websocket upgrade header check ( #11830 )
2021-08-25 00:55:32 +02:00
David Sherret
6db8cbb650
chore: release crates for 1.13.2 ( #11820 )
2021-08-23 15:48:08 -04:00
Bartek Iwańczuk
2187c11e5d
fix(ext/http): resource leak on HttpConn.close() ( #11805 )
...
This commit adds tracking of resources that are related
to "HttpConn" so they can be closed automatically
when closing the connection.
2021-08-23 16:15:59 +02:00
David Sherret
a66a7bebbe
chore: release crates for 1.13.1 ( #11729 )
2021-08-16 16:49:14 -04:00
Bartek Iwańczuk
d1d2388d7f
test(ext/http): add test for incomplete HTTP message and fix resource leak ( #11717 )
...
This commit adds a test case for "Http: connection closed before
message completed" error as well as fixing an edge with resource
leak when the error is raised.
2021-08-16 13:43:43 +02:00
Aaron O'Mullan
2ca454b402
refactor(ops): return BadResource errors in ResourceTable calls ( #11710 )
...
* refactor(ops): return BadResource errors in ResourceTable calls
Instead of relying on callers to map Options to Results via `.ok_or_else(bad_resource_id)` at over 176 different call sites ...
2021-08-15 13:29:19 +02:00
Aaron O'Mullan
18ff6bb053
perf(ext/http): faster req_url string assembly ( #11711 )
...
This stood out on a flamegraph, it took up ~1% of a profiled loadtest of `cli/bench/deno_http_native.js`
2021-08-15 12:25:16 +02:00
Aaron O'Mullan
c87b13e745
cleanup(ext/http): simplify cookie header handling ( #11704 )
...
cleanup(ext/http): simplify cookie header handling
Use `Vec::join` instead of essentially reimplementing it. There should be no meaningful performance delta
2021-08-14 14:35:58 +02:00
Aaron O'Mullan
8fa46a7b44
cleanup(ext/http): simplify op_http_request_next ( #11691 )
...
* cleanup(ext/http): simplify op_http_request_next
Keep op_http_request_next's high-level logic simple, factor out NextRequestResponse building to prepare_next_request() for improved readability & maintainability
* cleanup(ext/http): break prepare_next_request() into meaningful sub-funcs
2021-08-14 13:25:05 +02:00
Leo K
0c9d6cbb2a
fix(http/ws): support multiple options in connection header ( #11675 )
...
Co-authored-by: Luca Casonato <hello@lcas.dev>
2021-08-13 20:52:13 +02:00
Bartek Iwańczuk
2937f02f00
fix(ext/http): remove unwrap() when HTTP conn errors ( #11674 )
2021-08-13 12:07:05 +02:00
Ryan Dahl
a0285e2eb8
Rename extensions/ directory to ext/ ( #11643 )
2021-08-11 12:27:05 +02:00