summaryrefslogtreecommitdiff
path: root/ext
AgeCommit message (Collapse)Author
2021-09-13refactor(core): Turn the `wasm_streaming_feed` binding into ops (#11985)Andreu Botella
Async WebAssembly compilation was implemented by adding two bindings: `set_wasm_streaming_callback`, which registered a callback to be called whenever a streaming wasm compilation was started, and `wasm_streaming_feed`, which let the JS callback modify the state of the v8 wasm compiler. `set_wasm_streaming_callback` cannot currently be implemented as anything other than a binding, but `wasm_streaming_feed` does not really need to use anything specific to bindings, and could indeed be implemented as one or more ops. This PR does that, resulting in a simplification of the relevant code. There are three operations on the state of the v8 wasm compiler that `wasm_streaming_feed` allowed: feeding new bytes into the compiler, letting it know that there are no more bytes coming from the network, and aborting the compilation. This PR provides `op_wasm_streaming_feed` to feed new bytes into the compiler, and `op_wasm_streaming_abort` to abort the compilation. It doesn't provide an op to let v8 know that the response is finished, but closing the resource with `Deno.core.close()` will achieve that.
2021-09-13feat(ext/crypto): generate ECDH keys (#11870)Luca Casonato
Add support for ECDH algorithm in SubtleCrypto#generateKey.
2021-09-13feat(ext/crypto): export RSA keys as pkcs#8 (#11880)Divy Srivastava
2021-09-13fix(ext/fetch): Properly cancel upload stream when aborting (#11966)Nayeem Rahman
Co-authored-by: Luca Casonato <lucacasonato@yahoo.com>
2021-09-12fix(ext/crypto): add HkdfParams and Pkdf2Params types (#11991)Divy Srivastava
2021-09-12fix: FileReader onevent attributes don't conform to spec (#11908)Feng Yu
2021-09-11feat(ext/crypto): implement HKDF operations (#11865)Divy Srivastava
Co-authored-by: Luca Casonato <lucacasonato@yahoo.com>
2021-09-11feat(ext/crypto): verify ECDSA signatures (#11739)Divy Srivastava
2021-09-11refactor: use Deno.core.tryClose (#11980)Bartek Iwańczuk
2021-09-10perf(ext/http): optimize auto cleanup of request resource (#11978)Bert Belder
Fixes #11963.
2021-09-08fix(ext/web): Preserve stack traces for DOMExceptions (#11959)Nayeem Rahman
2021-09-08chore: add README to ext/http/ (#11958)Bartek Iwańczuk
2021-09-08chore: release deno_http 0.8.0 (#11956)Bartek Iwańczuk
2021-09-08fix: a `Request` whose URL is a revoked blob URL should still fetch (#11947)Andreu Botella
In the spec, a URL record has an associated "blob URL entry", which for `blob:` URLs is populated during parsing to contain a reference to the `Blob` object that backs that object URL. It is this blob URL entry that the `fetch` API uses to resolve an object URL. Therefore, since the `Request` constructor parses URL inputs, it will have an associated blob URL entry which will be used when fetching, even if the object URL has been revoked since the construction of the `Request` object. (The `Request` constructor takes the URL as a string and parses it, so the object URL must be live at the time it is called.) This PR adds a new `blobFromObjectUrl` JS function (backed by a new `op_blob_from_object_url` op) that, if the URL is a valid object URL, returns a new `Blob` object whose parts are references to the same Rust `BlobPart`s used by the original `Blob` object. It uses this function to add a new `blobUrlEntry` field to inner requests, which will be `null` or such a `Blob`, and then uses `Blob.prototype.stream()` as the response's body. As a result of this, the `blob:` URL resolution from `op_fetch` is now useless, and has been removed.
2021-09-08feat: add URLPattern API (#11941)Luca Casonato
This adds support for the URLPattern API. The API is added in --unstable only, as it has not yet shipped in any browser. It is targeted for shipping in Chrome 95. Spec: https://wicg.github.io/urlpattern/ Co-authored-by: crowlKats < crowlkats@toaxl.com >
2021-09-08fix(ext/http): resource leak if request body is not consumed (#11955)Bartek Iwańczuk
2021-09-07docs(ext/net): add note about listening 0.0.0.0 (#11938)Yoshiya Hinosawa
Co-authored-by: Craig Morten <cmorten@users.noreply.github.com>
2021-09-02feat(fmt): add basic JS doc formatting (#11902)David Sherret
2021-09-02chore: update dependencies (#11856)Luca Casonato
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2021-08-31feat(ext/crypto): AES key generation (#11869)Luca Casonato
Support AES-CTR, AES-CBC, AES-GCM, and AES-KW in SubtleCrypto#generateKey.
2021-08-31fix: move unstable declarations to deno.unstable (#11876)Luca Casonato
2021-08-29feat(ext/crypto): support JWK export for HMAC (#11864)Divy Srivastava
2021-08-27feat(ext/crypto): support JWK import for HMAC (#11716)Divy Srivastava
2021-08-26feat(ext/crypto): implement importKey and deriveBits for PBKDF2 (#11642)Divy Srivastava
2021-08-25feat(fetch): mTLS client certificates for fetch() (#11721)Sean Michael Wykes
This commit adds support for specifying client certificates when using fetch, by means of `Deno.createHttpClient`.
2021-08-25feat: ArrayBuffer in structured clone transfer (#11840)Luca Casonato
2021-08-25fix(ext/http): websocket upgrade header check (#11830)Dayan C. Galiazzi
2021-08-24feat(ext/crypto): implement encrypt, decrypt & generateKey for RSA-OAEP (#11654)Divy Srivastava
2021-08-24refactor(webgpu): use op interface idiomatically (#11835)Luca Casonato
2021-08-24feat(extensions/console): right align numeric columns in table (#11748)Nicolas Stucki
2021-08-24fix(ext/crypto): KeyAlgorithm typings for supported algorithms (#11738)Divy Srivastava
2021-08-24feat(unstable): Support file URLs in Deno.dlopen() (#11658)Nayeem Rahman
2021-08-24chore(ext/webgpu): update wgpu to 0.10.0 (#11781)Leo K
Co-authored-by: Luca Casonato <hello@lcas.dev>
2021-08-24fix: FileReader.readAsText compat (#11814)Luca Casonato
Fixes a WPT test.
2021-08-23chore: release crates for 1.13.2 (#11820)David Sherret
2021-08-23fix(ext/ffi): don't panic on invalid enum values (#11815)Luca Casonato
Co-authored-by: Feng Yu <f3n67u@gmail.com>
2021-08-23fix(ext/http): resource leak on HttpConn.close() (#11805)Bartek Iwańczuk
This commit adds tracking of resources that are related to "HttpConn" so they can be closed automatically when closing the connection.
2021-08-23fix(ext/crypto): remove duplicate Algorithm interface defination (#11807)Feng Yu
2021-08-21fiz(ext/fetch): Headers constructor error message (#11778)Feng Yu
2021-08-20chore: upgrade dlint and run `prefer-primordials` rule (#11777)Yusuke Tanaka
2021-08-19perf(ext/url): use DOMString instead of USVString as webidl converter for ↵Aaron O'Mullan
URL parsing (#11775) A 20% decrease in url parsing: - before: `~2450ns/parse` - after: `~1950ns/parse`
2021-08-19perf(ext/url): optimize UrlParts op serialization (#11765)Aaron O'Mullan
2021-08-18perf(ext/url): cleanup and optimize url parsing op args (#11763)Aaron O'Mullan
This splits the previous `op_url_parse` into: - `op_url_parse`: parses a href with an optional base - `op_url_reparse`: reparses a href with a modifier This is a cleaner separation of concerns and it allows us to optimize & simplify args passed. Resulting in a 25% reduction in call overhead (~5000ns/call => ~3700ns/call in url_ops bench on my M1 Air)
2021-08-17fix(ext/crypto): exportKey() for HMAC (#11737)Divy Srivastava
Fixes typings and innerKey processing (WPT doesn't test exportKey for HMAC so this wasn't caught earlier).
2021-08-16chore: release crates for 1.13.1 (#11729)David Sherret
2021-08-16fix(ext/fetch): better error if no content-typeBen Noordhuis
The streaming WASM support code inspects the Response object's Content-Type header but if that was missing, it failed with a fairly inscrutable "String.prototype.toLowerCase called on null or undefined" exception. Now it raises a more legible "Invalid WebAssembly content type" exception.
2021-08-16fix(ext/fetch): don't use global Deno objectBen Noordhuis
Don't use `Deno.core`, it's not present in embedders that don't expose the Deno global object.
2021-08-16fix(ext/crypto): enable non-extractable keys (#11705)Divy Srivastava
2021-08-16feat(runtime): support classic workers for internal testing (#11338)Andreu Botella
This commit implements classic workers, but only when the `--enable-testing-features-do-not-use` flag is provided. This change is not user facing. Classic workers are used extensively in WPT tests. The classic workers do not support loading from disk, and do not support TypeScript. Co-authored-by: Luca Casonato <hello@lcas.dev>
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.