summaryrefslogtreecommitdiff
path: root/ext
AgeCommit message (Collapse)Author
2021-11-26feat(ext/net): ALPN support in `Deno.connectTls()` (#12786)Yury Selivanov
2021-11-26feat(etc/fetch): Support `WebAssembly.instantiateStreaming` for file fetches ↵Andreu Botella
(#12901) Fetching of local files, added in #12545, returns a response with no headers, including the `Content-Type` header. This currently makes it not work with the WebAssembly streaming APIs, which require the response to have a content type of `application/wasm`. Since the only way to obtain a `Response` object with a non-empty `url` field is via `fetch()`, this change changes the content type requirement to only apply to responses whose url has the `file:` scheme.
2021-11-25fix(ext/crypto): throw on key & op algo mismatch (#12838)Luca Casonato
2021-11-24chore: merge v1.16.3 into main (#12892)Bert Belder
2021-11-23revert: store header keys lower case internally (#12837)Luca Casonato
This reverts commit 49ec3d10ad90851f4d28274a3f0fe96c642204ac.
2021-11-22fix(ext/crypto): don't panic on decryption failure (#12840)Luca Casonato
2021-11-17chore(ext/http): deno fmt (#12798)Bert Belder
2021-11-17chore: bump crates for 1.16.2 (#12792)David Sherret
2021-11-16refactor: re-export anyhow from deno_core (#12777)Ryan Dahl
2021-11-11chore: bump crate versions for 1.16.1 (#12729)Luca Casonato
2021-11-11fix: add typings for AbortSignal.reason (#12730)Luca Casonato
2021-11-11fix(crypto): handling large key length in HKDF (#12692)upendra1997
2021-11-10refactor(ext/http): rewrite hyper integration and fix bug (#12732)Bert Belder
Fixes: #12193 Fixes: #12251 Closes: #12714
2021-11-09feat(core): streams (#12596)Aaron O'Mullan
This allows resources to be "streams" by implementing read/write/shutdown. These streams are implicit since their nature (read/write/duplex) isn't known until called, but we could easily add another method to explicitly tag resources as streams. `op_read/op_write/op_shutdown` are now builtin ops provided by `deno_core` Note: this current implementation is simple & straightforward but it results in an additional alloc per read/write call Closes #12556
2021-11-09chore: bump crate versions for 1.16.0 (#12706)Luca Casonato
2021-11-09fix(fetch): set content-length for empty POST/PUT (#12703)Luca Casonato
This commit changes `fetch` to set `content-length: 0` on POST and PUT requests with no body.
2021-11-09Revert "refactor(ext/http): rewrite hyper integration and fix bug (#12332)" ↵Luca Casonato
(#12704) This reverts commit 5b1e537446454f6332de44adbeb6a15ff072c2fa.
2021-11-09fix(ext/net): expose all tls ops (#12699)Luca Casonato
This makes it possible for implementers to cherry-pick which ops they want to use.
2021-11-08feat(ext/web): add `AbortSignal.reason` (#12697)Leo Kettmeir
2021-11-08refactor(ext/http): rewrite hyper integration and fix bug (#12332)Bert Belder
Fixes: #12193
2021-11-08feat(ext/web): WritableStreamDefaultController.signal (#12654)Leo Kettmeir
2021-11-05BREAKING chore(ext/web): remove `ReadableStream.getIterator` (#12652)Leo Kettmeir
2021-11-05fix: typings for BYOB stream readers (#12651)Leo Kettmeir
2021-11-03fix: Deno.emit crashes with BorrowMutError (#12627)Ryan Dahl
Warn on await_holding_refcell_ref clippy rule to avoid this in the future. Fixes #12453
2021-11-03feat(ext/web): BYOB support for ReadableStream (#12616)Leo Kettmeir
This commit introduces support for BYOB readers in the WHATWG Streams API implementation.
2021-11-02chore: update to Rust edition 2021 (#12578)Bartek Iwańczuk
2021-11-01feat(ext/fetch): support fetching local files (#12545)Kitson Kelly
Closes #11925 Closes #2150 Co-authored-by: Bert Belder <bertbelder@gmail.com>
2021-10-31cleanup(ext/fetch): consistent op names (#12612)Aaron O'Mullan
Rename `op_create_http_client` to `op_fetch_custom_client` to follow prefix/namespaced convention
2021-10-30feat(ext/console): Display error.cause in console (#12462)Kenta Moriuchi
2021-10-30cleanup(ext/net): consistent op names (#12607)Aaron O'Mullan
2021-10-29feat: stabilize Deno.startTls (#12581)Luca Casonato
This commit stabilizes `Deno.startTls` and removes `certFile` from the `StartTlsOptions`.
2021-10-29fix(ext/fetch): Replace redundant local variable with inline return ↵Malted
statement (#12583)
2021-10-29fix(encoding): support additional encoding labels (#12586)Andreu Botella
2021-10-28fix(webidl): Don't throw when converting a detached buffer source (#12585)Andreu Botella
The Web IDL conversion to `BufferSource` and similar types shouldn't check whether the buffer is detached. In the case of `TextDecoder`, our implementation would still throw after the Web IDL conversions because we're creating a new `Uint8Array` from the buffer source's buffer, which throws if it's detached. This change also fixes this bug.
2021-10-29perf(encoding): avoid copying the input data in `TextDecoder` (#12573)Andreu Botella
The implementation of `TextDecoder` had a bug where it was copying the input data in every case. This change removes that copy in non-`SharedArrayBuffer` cases. Since passing a shared buffer source to Rust would fail, this copy of the input data was making `TextDecoder` work in cases where the input is shared. In order to avoid a breaking change, the copy is retained in those cases.
2021-10-27feat(ext/webstorage): use implied origin when --location not set (#12548)Kitson Kelly
Closes #11882 BREAKING CHANGE: Previously when `--location` was set, the unique storage key was derived from the the URL of the location instead of just the origin. This change correctly uses just the origin. This may cause previously persisted storage to change its key and data to not be available with the same location as before.
2021-10-26fix(ext/http): allow multiple values in upgrade header for websocket (#12551)Leo K
Co-authored-by: Aaron O'Mullan <aaron.omullan@gmail.com>
2021-10-26Use libffi-rs instead of deno-libffi (#12555)Ryan Dahl
Fork is no longer necessary since https://github.com/tov/libffi-rs/pull/33 landed.
2021-10-26feat(ext/net): add TlsConn.handshake() (#12467)Bert Belder
A `handshake()` method was added that returns when the TLS handshake is complete. The `TlsListener` and `TlsConn` interfaces were added to accomodate this new method. Closes: #11759.
2021-10-26perf(http): encode string bodies in op-layer (#12451)Aaron O'Mullan
Using serde_v8's StringOrBuffer
2021-10-25fix(tls): Make TLS clients support HTTP/2 (#12530)Andreu Botella
`fetch()` and client-side websocket used to support HTTP/2, but this regressed in #11491. This patch reenables it by explicitly adding `h2` and `http/1.1` to the list of ALPN protocols on the HTTP and websocket clients.
2021-10-25chore: bump crate version for 1.15.3 (#12531)Yoshiya Hinosawa
2021-10-21fix: declare web types as global (#12497)Bartek Iwańczuk
Co-authored-by: Feng Yu <F3n67u@outlook.com>
2021-10-20fix(ext/net): fix TLS bugs and add 'op_tls_handshake' (#12501)Bert Belder
A bug was fixed that could cause a hang when a method was called on a TlsConn object that had thrown an exception earlier. Additionally, a bug was fixed that caused TlsConn.write() to not completely flush large buffers (>64kB) to the socket. The public `TlsConn.handshake()` API is scheduled for inclusion in the next minor release. See https://github.com/denoland/deno/pull/12467.
2021-10-19fix(ext/websocket): prevent 'closed normally' panic (#12437)Leo K
2021-10-18chore: release crates for v1.15.2 (#12478)Bartek Iwańczuk
2021-10-18docs(ext/url): typo in URLPatternResult (#12470)Satya Rohith
2021-10-17fix(core): poll async ops eagerly (#12385)Bert Belder
Currently all async ops are polled lazily, which means that op initialization code is postponed until control is yielded to the event loop. This has some weird consequences, e.g. ```js let listener = Deno.listen(...); let conn_promise = listener.accept(); listener.close(); // `BadResource` is thrown. A reasonable error would be `Interrupted`. let conn = await conn_promise; ``` JavaScript promises are expected to be eagerly evaluated. This patch makes ops actually do that.
2021-10-17docs(ext/http): fix typo in http/lib.rs (#12466)Ikko Ashimine
2021-10-15fix(docs): correct `pattern.match()` to `pattern.exec()` (#12450)Libing Chen