summaryrefslogtreecommitdiff
path: root/ext
AgeCommit message (Collapse)Author
2021-10-12chore: bump crate version for 1.15.0 (#12406)Satya Rohith
2021-10-12chore: upgrade crates based on deno ast 0.3 (#12403)David Sherret
2021-10-12feat(ext/crypto): support importing/exporting raw AES keys (#12392)Divy Srivastava
2021-10-12feat(ext/crypto): implement deriveKey (#12117)Divy Srivastava
2021-10-11perf(webidl): inline ResponseInit converter (#12285)Aaron O'Mullan
2021-10-11fix(http): don't expose body on GET/HEAD requests (#12260)Luca Casonato
GET/HEAD requests can't have bodies according to `fetch` spec. This commit changes the HTTP server to hide request bodies for requests with GET or HEAD methods.
2021-10-11feat(ext/crypto): support importing raw ECDSA keys (#11871)Divy Srivastava
2021-10-11feat(ext/crypto): implement AES-CBC encryption & decryption (#12123)Divy Srivastava
* initial stuff * stuff * merge stuff * cleanup * fmt * length * update lockfile * decrypt * fixy * clippy hello? * hmm * fixs * fix lint * add AesCbcParams * fixes * fixy * lockfile fixy * fix dumb assertions * re run CI * rerun CI * rerun CI
2021-10-10feat: Show the URL of streaming WASM modules in stack traces (#12268)Andreu Botella
WebAssembly modules compiled through `WebAssembly.compile()` and similar non-streaming APIs don't have a URL associated to them, because they have been compiled from a buffer source. In stack traces, V8 will use a URL such as `wasm://wasm/d1c677ea`, with a hash of the module. However, wasm modules compiled through streaming APIs, like `WebAssembly.compileStreaming()`, do have a known URL, which can be obtained from the `Response` object passed into the streaming APIs. And as per the developer-facing display conventions in the WebAssembly Web API spec, this URL should be used in stack traces. This change implements that.
2021-10-10feat: stabilize Deno.resolveDns (#12368)Satya Rohith
2021-10-10feat(ext/net): relevant errors for resolveDns (#12370)Satya Rohith
2021-10-08feat(ext/crypto): implement deriveBits for ECDH (p256) (#11873)Divy Srivastava
2021-10-08fix(ext/web): Format DOMException stack property (#12333)Kenta Moriuchi
2021-10-08refactor: deduplicate `defineEventHandler` util (#12367)Andreu Botella
2021-10-07perf(fetch): fast path Uint8Array in extractBody() (#12351)Aaron O'Mullan
2021-10-07fix(ext/ffi): don't panic in dlopen (#12344)Divy Srivastava
2021-10-06fix(ext/crypto): key generation based on AES key length (#12146)Divy Srivastava
2021-10-06feat(ext/crypto): export spki for RSA (#12114)Divy Srivastava
2021-10-06fix(ext/ffi): formatting dlopen errors on Windows (#12301)Divy Srivastava
2021-10-06feat(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-05perf(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-05chore: various op cleanup (#12329)Leo K
2021-10-05chore: merge v1.14.3 into main (#12327)Bartek Iwańczuk
2021-10-05feat(ext/ffi): Non-blocking FFI (#12274)Divy Srivastava
2021-10-04chore: 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-04perf(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-03feat(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-03fix(ext/crypto): missing Aes key typings (#12307)Divy Srivastava
2021-10-02fix(ext/net): should not panic when listening to unix abstract address (#12300)Ahab
2021-10-02feat(ext/crypto): decode RSAES-OAEP-params with default values (#12292)Divy Srivastava
2021-10-01fix(ext/crypto): use NotSupportedError for importKey() (#12289)Divy Srivastava
2021-10-01perf(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-01feat(ext/crypto): implement wrapKey (#12125)Divy Srivastava
2021-10-01fix(ext/crypto): decode id-RSASSA-PSS with default params (#12147)Divy Srivastava
2021-10-01perf(web): optimize byteLowerCase() (#12282)Aaron O'Mullan
2021-09-30perf(webidl): optimize createDictionaryConverter() (#12279)Aaron O'Mullan
On a benchmark constructing Responses with headers this shaves off 25%
2021-09-30perf(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-30feat(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-29fix(ext/http): merge identical if/else branches (#12269)mynane
2021-09-29perf(web/Event): move last class field to constructor (#12265)Aaron O'Mullan
2021-09-29fix(ext/fetch): avoid panic when header is invalid (#12244)Ahab
2021-09-29perf(webidl/DOMString): don't wrap string primitives (#12266)Aaron O'Mullan
2021-09-28chore: bump crate versions for 1.14.2 (#12253)Aaron O'Mullan
2021-09-27perf(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-27refactor(fetch/Request): inline defaultInnerRequest (#12241)Aaron O'Mullan
Similar to #12235
2021-09-27perf(fetch/Response): avoid class fields (#12237)Aaron O'Mullan
2021-09-26refactor(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-26perf(web): optimize Event constructor (#12231)Aaron O'Mullan
Assign in constructor instead of using class initializers which are currently ~10x slower
2021-09-26perf(webidl/ByteString): 3x faster ASCII check (#12230)Aaron O'Mullan
2021-09-26perf(fetch): optimize InnerBody constructor (#12232)Aaron O'Mullan
Avoid initializers due to overhead