Bert Belder
6a797f7ba9
chore(ext/http): deno fmt ( #12798 )
2021-11-17 15:34:41 -08:00
David Sherret
cd61cedd19
chore: bump crates for 1.16.2 ( #12792 )
2021-11-17 10:14:23 -05:00
Luca Casonato
3250ffe020
chore: bump crate versions for 1.16.1 ( #12729 )
2021-11-11 11:16:05 +01:00
Bert Belder
72a6231a61
refactor(ext/http): rewrite hyper integration and fix bug ( #12732 )
...
Fixes: #12193
Fixes: #12251
Closes: #12714
2021-11-10 14:51:43 -08:00
Luca Casonato
4f64acd4e4
chore: bump crate versions for 1.16.0 ( #12706 )
2021-11-09 13:03:17 +01:00
Luca Casonato
75793baae8
Revert "refactor(ext/http): rewrite hyper integration and fix bug ( #12332 )" ( #12704 )
...
This reverts commit 5b1e537446
.
2021-11-09 12:10:21 +01:00
Bert Belder
5b1e537446
refactor(ext/http): rewrite hyper integration and fix bug ( #12332 )
...
Fixes: #12193
2021-11-08 12:49:11 -08:00
Bartek Iwańczuk
8e31bbbe55
chore: update to Rust edition 2021 ( #12578 )
2021-11-02 10:03:37 -04:00
Leo K
6268703487
fix(ext/http): allow multiple values in upgrade header for websocket ( #12551 )
...
Co-authored-by: Aaron O'Mullan <aaron.omullan@gmail.com>
2021-10-26 23:06:44 +02:00
Aaron O'Mullan
c27ef0ac7b
perf(http): encode string bodies in op-layer ( #12451 )
...
Using serde_v8's StringOrBuffer
2021-10-26 22:00:01 +02:00
Yoshiya Hinosawa
c7dcf1cbdd
chore: bump crate version for 1.15.3 ( #12531 )
2021-10-25 15:48:01 +09:00
Bartek Iwańczuk
1cd9272a91
chore: release crates for v1.15.2 ( #12478 )
2021-10-18 20:30:00 +02:00
Ikko Ashimine
a1d6b53acd
docs(ext/http): fix typo in http/lib.rs ( #12466 )
2021-10-17 20:04:44 +09:00
Satya Rohith
fb094ae026
chore: bump crate version for 1.15.0 ( #12406 )
2021-10-12 22:16:15 +05:30
Luca Casonato
c40d5040cd
fix(http): don't expose body on GET/HEAD requests ( #12260 )
...
GET/HEAD requests can't have bodies according to `fetch` spec. This
commit changes the HTTP server to hide request bodies for requests with
GET or HEAD methods.
2021-10-11 18:39:55 +02:00
Leo K
77a00ce1fb
chore: various op cleanup ( #12329 )
2021-10-05 22:38:27 +02:00
Bartek Iwańczuk
d67e858506
chore: merge v1.14.3 into main ( #12327 )
2021-10-05 21:40:39 +02:00
mynane
62920e4ef5
fix(ext/http): merge identical if/else branches ( #12269 )
2021-09-29 11:55:10 -07:00
Aaron O'Mullan
e8901281da
chore: bump crate versions for 1.14.2 ( #12253 )
2021-09-28 12:19:03 +02:00
Aaron O'Mullan
9167f0c6bd
perf(fetch): optimize newInnerRequest blob url check ( #12245 )
...
Avoid "blob:" prefix check on requests built in the http module since those can never be blob objects
Reduces cost of `newInnerRequest()` from 20ms to 0.1ms in my profiled run on ~2.5M reqs
2021-09-27 13:19:24 +02:00
Ben Noordhuis
2b6f8d0187
fix(ext/http): include port number in h2 urls ( #12181 )
2021-09-26 20:26:16 +02:00
Aaron O'Mullan
3c88dffd32
fix(http): panic when responding to a closed conn ( #12216 )
...
Our oneshot receiver in `HyperService::call` would unwrap and panic, the `.await` on the oneshot receiver happens when the sender is dropped.
The sender is dropped in `op_http_response` because:
1. We take `ResponseSenderResource`
2. Then get `ConnResource` and early exit on failure (conn already closed)
3. The taken sender then gets dropped in this early exit before any response is sent over the channel
Fallbacking to returning a dummy response to hyper seems to be a fine quickfix
2021-09-25 13:22:19 +02:00
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