Age | Commit message (Collapse) | Author | |
---|---|---|---|
2021-10-08 | fix(ext/web): Format DOMException stack property (#12333) | Kenta Moriuchi | |
2021-10-08 | refactor: deduplicate `defineEventHandler` util (#12367) | Andreu Botella | |
2021-10-07 | perf(fetch): fast path Uint8Array in extractBody() (#12351) | Aaron O'Mullan | |
2021-10-07 | fix(ext/ffi): don't panic in dlopen (#12344) | Divy Srivastava | |
2021-10-06 | fix(ext/crypto): key generation based on AES key length (#12146) | Divy Srivastava | |
2021-10-06 | feat(ext/crypto): export spki for RSA (#12114) | Divy Srivastava | |
2021-10-06 | fix(ext/ffi): formatting dlopen errors on Windows (#12301) | Divy Srivastava | |
2021-10-06 | feat(ext/ffi): add support for buffer arguments (#12335) | Bartek Iwańczuk | |
This commit adds support for passing buffer arguments across FFI boundary. Co-authored-by: eliassjogreen <eliassjogreen1@gmail.com> Co-authored-by: Bert Belder <bertbelder@gmail.com> | |||
2021-10-05 | perf(webidl): fix typo from #12286 (#12336) | Aaron O'Mullan | |
In a tweak commit of #12286 I accidentally eliminated the else branch ... running the slow & the fast path providing a worst of both worlds path | |||
2021-10-05 | chore: various op cleanup (#12329) | Leo K | |
2021-10-05 | chore: merge v1.14.3 into main (#12327) | Bartek Iwańczuk | |
2021-10-05 | feat(ext/ffi): Non-blocking FFI (#12274) | Divy Srivastava | |
2021-10-04 | chore: remove No*Permissions structs (#12316) | Luca Casonato | |
These are confusing. They say they are "for users that don't care about permissions", but that isn't correct. `NoTimersPermissions` disables permissions instead of enabling them. I would argue that implementors should decide what permissions they want themselves, and not take our opinionated permissions struct. | |||
2021-10-04 | perf(webidl): optimize createRecordConverter() (#12286) | Aaron O'Mullan | |
Cuts self-time by ~6x, 172ns/iter => 22ns/iter benched on 1M Response builds / HeadersInit calls | |||
2021-10-03 | feat(web): Implement `DOMException`'s `stack` property. (#12294) | Andreu Botella | |
As per WebIDL (https://heycam.github.io/webidl/#es-DOMException-specialness), if `Error` objects have a `stack` property, so should `DOMException` instances. | |||
2021-10-03 | fix(ext/crypto): missing Aes key typings (#12307) | Divy Srivastava | |
2021-10-02 | fix(ext/net): should not panic when listening to unix abstract address (#12300) | Ahab | |
2021-10-02 | feat(ext/crypto): decode RSAES-OAEP-params with default values (#12292) | Divy Srivastava | |
2021-10-01 | fix(ext/crypto): use NotSupportedError for importKey() (#12289) | Divy Srivastava | |
2021-10-01 | perf(fetch): optimize fillHeaders() key iteration (#12287) | Aaron O'Mullan | |
Reduces self-time by ~70x (~70ms => ~1ms on 1M iters) for...in filtered by hasOwnProperty yields the same set of keys as Object.keys() | |||
2021-10-01 | feat(ext/crypto): implement wrapKey (#12125) | Divy Srivastava | |
2021-10-01 | fix(ext/crypto): decode id-RSASSA-PSS with default params (#12147) | Divy Srivastava | |
2021-10-01 | perf(web): optimize byteLowerCase() (#12282) | Aaron O'Mullan | |
2021-09-30 | perf(webidl): optimize createDictionaryConverter() (#12279) | Aaron O'Mullan | |
On a benchmark constructing Responses with headers this shaves off 25% | |||
2021-09-30 | perf(web): ~400x faster http header trimming (#12277) | Aaron O'Mullan | |
Use a regex substring match with a first/last char fastpath instead of 2 regex replaces. Roughly ~400x faster (423ms vs 0.7ms in profiled runs) | |||
2021-09-30 | feat(tls): custom in memory CA certificates (#12219) | Luca Casonato | |
This adds support for using in memory CA certificates for `Deno.startTLS`, `Deno.connectTLS` and `Deno.createHttpClient`. `certFile` is deprecated in `startTls` and `connectTls`, and removed from `Deno.createHttpClient`. | |||
2021-09-29 | fix(ext/http): merge identical if/else branches (#12269) | mynane | |
2021-09-29 | perf(web/Event): move last class field to constructor (#12265) | Aaron O'Mullan | |
2021-09-29 | fix(ext/fetch): avoid panic when header is invalid (#12244) | Ahab | |
2021-09-29 | perf(webidl/DOMString): don't wrap string primitives (#12266) | Aaron O'Mullan | |
2021-09-28 | chore: bump crate versions for 1.14.2 (#12253) | Aaron O'Mullan | |
2021-09-27 | perf(fetch): optimize newInnerRequest blob url check (#12245) | Aaron O'Mullan | |
Avoid "blob:" prefix check on requests built in the http module since those can never be blob objects Reduces cost of `newInnerRequest()` from 20ms to 0.1ms in my profiled run on ~2.5M reqs | |||
2021-09-27 | refactor(fetch/Request): inline defaultInnerRequest (#12241) | Aaron O'Mullan | |
Similar to #12235 | |||
2021-09-27 | perf(fetch/Response): avoid class fields (#12237) | Aaron O'Mullan | |
2021-09-26 | refactor(fetch/response): inline defaultInnerResponse (#12235) | Aaron O'Mullan | |
Not useful to have the defaults externally defined when they're only used in `newInnerResponse()`. Also match order in `newInnerResponse()` and `cloneInnerResponse` | |||
2021-09-26 | perf(web): optimize Event constructor (#12231) | Aaron O'Mullan | |
Assign in constructor instead of using class initializers which are currently ~10x slower | |||
2021-09-26 | perf(webidl/ByteString): 3x faster ASCII check (#12230) | Aaron O'Mullan | |
2021-09-26 | perf(fetch): optimize InnerBody constructor (#12232) | Aaron O'Mullan | |
Avoid initializers due to overhead | |||
2021-09-26 | fix(ext/http): include port number in h2 urls (#12181) | Ben Noordhuis | |
2021-09-26 | perf(fetch/headers): optimize appendHeader (#12234) | Aaron O'Mullan | |
Use a single regex to check for `\0`, `\n`, `\r` instead of 3 `String.includes(...)` calls | |||
2021-09-25 | perf(ext/fetch): Use the WebIDL conversion to DOMString rather than ↵ | Luis Malheiro | |
USVString for Response constructor (#12201) | |||
2021-09-25 | fix(ext/web): FileReader error messages (#12218) | Dan Rose | |
2021-09-25 | fix(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-25 | fix(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-09-25 | fix(ext/webidl): correctly apply [SymbolToStringTag] to interfaces (#11851) | 李瑞丰 | |
Co-authored-by: Luca Casonato <hello@lcas.dev> Co-authored-by: Yoshiya Hinosawa <stibium121@gmail.com> | |||
2021-09-23 | perf(ext/fetch): skip USVString webidl conv on string constructor (#12168) | Aaron O'Mullan | |
* perf(ext/fetch): skip USVString webidl conv on string constructor * Rename webidl convert to RequestInfo_DOMString To disambiguate and hint that it normalizes to DOMString instead of USVString since DOMString => USVString is handled by `op_url_parse` when calling `new URL(...)` | |||
2021-09-22 | chore(ext/net): improve embedder friendliness (#12178) | Ben Noordhuis | |
Default to None if UnsafelyIgnoreCertificateErrors is not present in the OpState. Embedders may not have a need for restricting outgoing TLS connections and having them hunt through the source code for the magic incantation that makes the borrow panics go away, is less user friendly. | |||
2021-09-22 | chore: bump crate versions for 1.14.1 (#12172) | Kitson Kelly | |
2021-09-21 | cleanup(ext/fetch): drop redundant webidl converters in fetch() (#12167) | Aaron O'Mullan | |
Since those inputs are passed to `new Request(...)` which applies webidl converters | |||
2021-09-21 | perf(ext/web): optimize EventTarget (#12166) | Aaron O'Mullan | |
and all its subclasses including `AbortSignal` ... Instead of storing associated data in a global `WeakMap` we store them as private attributes (via a Symbol) on the object instances |