summaryrefslogtreecommitdiff
path: root/ext/http/lib.rs
AgeCommit message (Collapse)Author
2021-10-05chore: various op cleanup (#12329)Leo K
2021-09-26fix(ext/http): include port number in h2 urls (#12181)Ben Noordhuis
2021-09-25fix(http): panic when responding to a closed conn (#12216)Aaron O'Mullan
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-25fix(ext/http): fortify "is websocket?" check (#12179)Ben Noordhuis
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-08-31fix: move unstable declarations to deno.unstable (#11876)Luca Casonato
2021-08-16test(ext/http): add test for incomplete HTTP message and fix resource leak ↵Bartek Iwańczuk
(#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-15refactor(ops): return BadResource errors in ResourceTable calls (#11710)Aaron O'Mullan
* 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-15perf(ext/http): faster req_url string assembly (#11711)Aaron O'Mullan
This stood out on a flamegraph, it took up ~1% of a profiled loadtest of `cli/bench/deno_http_native.js`
2021-08-14cleanup(ext/http): simplify cookie header handling (#11704)Aaron O'Mullan
cleanup(ext/http): simplify cookie header handling Use `Vec::join` instead of essentially reimplementing it. There should be no meaningful performance delta
2021-08-14cleanup(ext/http): simplify op_http_request_next (#11691)Aaron O'Mullan
* 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-13fix(http/ws): support multiple options in connection header (#11675)Leo K
Co-authored-by: Luca Casonato <hello@lcas.dev>
2021-08-13fix(ext/http): remove unwrap() when HTTP conn errors (#11674)Bartek Iwańczuk
2021-08-11Rename extensions/ directory to ext/ (#11643)Ryan Dahl