summaryrefslogtreecommitdiff
path: root/ext/http/lib.rs
AgeCommit message (Collapse)Author
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