summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
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-29bench(cli): add deno_http_native_headers.js (#12267)Aaron O'Mullan
2021-09-29feat: support serializing `WebAssembly.Module` objects (#12140)Andreu Botella
2021-09-29feat: stabilize URLPattern API (#12256)Luca Casonato
2021-09-281.14.2 (#12254)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-27fix: subprocess kill support on windows (#12134)Luca Casonato
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
2021-09-26fix(ext/http): include port number in h2 urls (#12181)Ben Noordhuis
2021-09-26perf(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-25perf(ext/fetch): Use the WebIDL conversion to DOMString rather than ↵Luis Malheiro
USVString for Response constructor (#12201)
2021-09-25fix(ext/web): FileReader error messages (#12218)Dan Rose
2021-09-25chore: update wpt (#12206)Andreu Botella
2021-09-25fix(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-25fix(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-24chore(workers): Test that closing a worker closes any child workers (#12215)Andreu Botella
Before #12156, closing a worker which had children would cause a panic (https://github.com/denoland/deno/issues/11342#issuecomment-918327693). After that PR, closing a worker will also close any child workers.
2021-09-25cleanup(runtime): flatten op_kill's args (#12214)Aaron O'Mullan
2021-09-25refactor: Remove unused code (#12210)Ryan Dahl
2021-09-24chore(runtime): minor comment improvement (#12191)Aaron O'Mullan
2021-09-25fix(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-24refactor: Remove op_state parameter (#12202)Ryan Dahl
2021-09-24refactor: Rename ProgramState to ProcState (#12204)Ryan Dahl
Move Arc into struct
2021-09-24docs: fix native http jsdoc examples (#12207)Leo K
2021-09-24fix(cli/permissions): ensure revoked permissions are no longer granted (#12159)Nayeem Rahman
Fixes #12153
2021-09-23refactor: Remove depreated Worker::execute_module (#12203)Ryan Dahl
2021-09-23refactor: clean up watcher tests (#12200)Ryan Dahl
2021-09-23feat(cli/fmt): support more markdown extensions (#12195)Satya Rohith
2021-09-23perf(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-23test(cli): align unit test permissions with runtime test permissions (#12189)Casper Beyer
2021-09-23docs(tools): updates to cutting a release (#12177)Kitson Kelly
2021-09-23perf(ops): optimize permission check (#11800)Aaron O'Mullan
* perf(ops): optimize permission check Removes the overhead of permission check on access granted (should be common case): Delta measured on `perf_now` from `deno_common` bench: - before: `528ns/op - after: `166ns/op` So ~3x faster
2021-09-22ci: enable cache for fastci (#12186)Aaron O'Mullan
2021-09-22refactor: simplify FetchFuture (#12185)Ryan Dahl
No need for static lifetime
2021-09-22quickfix(ci): only run "Build product size info" on main/tag (#12184)Aaron O'Mullan
2021-09-22upgrade serde_v8 and rusty_v8 (#12175)Ryan Dahl
* upgrade serde_v8 and rusty_v8 * rusty_v8 0.30.0 * cycle keys
2021-09-22fix(workers): Don't panic when a worker's parent thread stops running (#12156)Andreu Botella
This panic could happen in the following cases: - A non-fatal error being thrown from a worker, that doesn't terminate the worker's execution, but propagates to the main thread without being handled, and makes the main thread terminate. - A nested worker being alive while its parent worker gets terminated. - A race condition if the main event loop terminates the worker as part of its last task, but the worker doesn't fully terminate before the main event loop stops running. This panic happens because a worker's event loop should have pending ops as long as the worker isn't closed or terminated – but if an event loop finishes running while it has living workers, its associated `WorkerThread` structs will be dropped, closing the channels that keep those ops pending. This change adds a `Drop` implementation to `WorkerThread`, which terminates the worker without waiting for a response. This fixes the panic, and makes it so nested workers are automatically terminated once any of their ancestors is closed or terminated. This change also refactors a worker's termination code into a `WorkerThread::terminate()` method. Closes #11342. Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2021-09-22ci: experiment mac & windows debug builds (#11884)Aaron O'Mullan
Will be tweaked, but possibly have this "fastci" profile for further optimizations
2021-09-22chore: replace calls to assertThrowsAsync with assertRejects (#12176)Casper Beyer
2021-09-22chore(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-221.14.1Kitson Kelly