summaryrefslogtreecommitdiff
path: root/runtime/js/40_http.js
AgeCommit message (Collapse)Author
2024-04-18chore: remove unused, unstable 'http' namespace (#23436)Matt Mastracci
Landing parts of #21903 in preparation for the removal of serveHttp.
2024-01-26refactor: migrate extensions to virtual ops module (#22135)Bartek Iwańczuk
First pass of migrating away from `Deno.core.ensureFastOps()`. A few "tricky" ones have been left for a follow up.
2024-01-26chore: upgrade deno_core (#22124)Bartek Iwańczuk
Co-authored-by: Matt Mastracci <matthew@mastracci.com>
2024-01-25fix: don't use public rid accessors in internal APIs (#22091)Bartek Iwańczuk
Co-authored-by: Asher Gomez <ashersaupingomez@gmail.com>
2024-01-23refactor: set removal version for `Deno.RequestEvent`, `Deno.HttpConn` and ↵Asher Gomez
`Deno.serveHttp()` (#22034) This change: 1. Sets the removal version for `Deno.RequestEvent`, `Deno.HttpConn` and `Deno.serveHttp()` for Deno v2. I thought it might be worth calling `warnOnDeprecatedApi()` within `Deno.Request` and `Deno.HttpConn` methods, but I thought just having it called within `Deno.serveHttp()` might be sufficient. 2. Removes some possibly unneeded related benchmarks. Towards #22021
2024-01-10refactor: use `core.ensureFastOps()` (#21888)Kenta Moriuchi
2024-01-01chore: update copyright to 2024 (#21753)David Sherret
2023-12-07refactor: pull 'core', 'internals', 'primordials' from ES module (#21462)Bartek Iwańczuk
This commit refactors how we access "core", "internals" and "primordials" objects coming from `deno_core`, in our internal JavaScript code. Instead of capturing them from "globalThis.__bootstrap" namespace, we import them from recently added "ext:core/mod.js" file.
2023-03-08refactor: rename InternalModuleLoader to ExtModuleLoader, use ext: scheme ↵Bartek Iwańczuk
for snapshotted modules (#18041) This commit renames "deno_core::InternalModuleLoader" to "ExtModuleLoader" and changes the specifiers used by the modules loaded from this loader to "ext:". "internal:" scheme was really ambiguous and it's more characters than "ext:", which should result in slightly smaller snapshot size. Closes https://github.com/denoland/deno/issues/18020
2023-02-07 refactor: remove prefix from include_js_files & use extension name (#17683)Leo Kettmeir
2023-02-07refactor: Use ES modules for internal runtime code (#17648)Leo Kettmeir
This PR refactors all internal js files (except core) to be written as ES modules. `__bootstrap`has been mostly replaced with static imports in form in `internal:[path to file from repo root]`. To specify if files are ESM, an `esm` method has been added to `Extension`, similar to the `js` method. A new ModuleLoader called `InternalModuleLoader` has been added to enable the loading of internal specifiers, which is used in all situations except when a snapshot is only loaded, and not a new one is created from it. --------- Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2023-01-02chore: update copyright year to 2023 (#17247)David Sherret
Yearly tradition of creating extra noise in git.
2022-08-11perf(ops): Monomorphic sync op calls (#15337)Aapo Alasuutari
Welcome to better optimised op calls! Currently opSync is called with parameters of every type and count. This most definitely makes the call megamorphic. Additionally, it seems that spread params leads to V8 not being able to optimise the calls quite as well (apparently Fast Calls cannot be used with spread params). Monomorphising op calls should lead to some improved performance. Now that unwrapping of sync ops results is done on Rust side, this is pretty simple: ``` opSync("op_foo", param1, param2); // -> turns to ops.op_foo(param1, param2); ``` This means sync op calls are now just directly calling the native binding function. When V8 Fast API Calls are enabled, this will enable those to be called on the optimised path. Monomorphising async ops likely requires using callbacks and is left as an exercise to the reader.
2022-03-16feat(unstable): Add Deno.upgradeHttp API (#13618)Bert Belder
This commit adds "Deno.upgradeHttp" API, which allows to "hijack" connection and switch protocols, to eg. implement WebSocket required for Node compat. Co-authored-by: crowlkats <crowlkats@toaxl.com> Co-authored-by: Ryan Dahl <ry@tinyclouds.org> Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2022-01-07chore: update copyright to 2022 (#13306)Ryan Dahl
Co-authored-by: Erfan Safari <erfanshield@outlook.com>
2021-07-12refactor: deno_http op crate (#11335)Luca Casonato
2021-06-29feat: Add "deno_net" extension (#11150)Bartek Iwańczuk
This commits moves implementation of net related APIs available on "Deno" namespace to "deno_net" extension. Following APIs were moved: - Deno.listen() - Deno.connect() - Deno.listenTls() - Deno.serveHttp() - Deno.shutdown() - Deno.resolveDns() - Deno.listenDatagram() - Deno.startTls() - Deno.Conn - Deno.Listener - Deno.DatagramConn
2021-06-26fix: specify AbortSignal for native http requests (#11126)Luca Casonato
2021-06-06feat(fetch): implement abort (#10863)Luca Casonato
This commit introduces fetch aborting via an AbortSignal.
2021-05-21fix(runtime/http): fix empty blob response (#10689)Yoshiya Hinosawa
2021-05-19fix(runtime/http): expose nextRequest() errors in respondWith() (#10384)Nayeem Rahman
2021-05-18chore: update deno_lint binary used in CI to v0.5.0 (#10652)Yusuke Tanaka
2021-04-23fix(runtime/js/http): cancel body on response failure (#10225)Nayeem Rahman
2021-04-20chore: align fetch to spec (#10203)Luca Casonato
This commit aligns the `fetch` API and the `Request` / `Response` classes belonging to it to the spec. This commit enables all the relevant `fetch` WPT tests. Spec compliance is now at around 90%. Performance is essentially identical now (within 1% of 1.9.0).
2021-04-15fix(#10182): hang during http server response (#10197)Ryan Dahl
2021-04-14perf(js/http): avoid v8 deopt in async iterator (#10160)Aaron O'Mullan
2021-04-13fix(cli/dts): Make respondWith() return a Promise (#10128)Nayeem Rahman
2021-04-13perf: lazy header instantiation for HTTP requests (#10150)Luca Casonato
This commit introduces a performance optimization for the native HTTP server. From my testing it is about 2-6% faster than `main`. Request headers in the HTTP servers are now lazilly instatated when they are accessed, rather than being preemptively wrapped in the `Headers` class.
2021-04-12refactor(deno): remove concept of bin & json ops (#10145)Aaron O'Mullan
2021-04-12fix(runtime/js/http): Correctly parse user response headers (#10076)Nayeem Rahman
2021-04-09API change: Deno.startHttp -> Deno.serveHttp (#10087)Ryan Dahl
2021-04-08feat: native HTTP bindings (#9935)Bartek Iwańczuk
Co-authered-by: Luca Casonato <lucacasonato@yahoo.com> Co-authered-by: Ben Noordhuis <info@bnoordhuis.nl> Co-authered-by: Ryan Dahl <ry@tinyclouds.org>