Divy Srivastava
a2643ae7bd
perf(ext/http): lazy load headers ( #15055 )
2022-07-04 07:41:52 +05:30
David Sherret
3d8ba30ea0
chore: forward 1.23.2 to main ( #15027 )
...
Co-authored-by: David Sherret <dsherret@gmail.com>
2022-06-30 18:01:08 -04:00
Kayla Washburn
215f3d4c8e
v1.23.1 ( #14954 )
...
1.23.1 (#14952 )
Co-authored-by: aslilac <aslilac@users.noreply.github.com>
Co-authored-by: Kayla Washburn <mckayla@hey.com>
Co-authored-by: denobot <33910674+denobot@users.noreply.github.com>
Co-authored-by: aslilac <aslilac@users.noreply.github.com>
2022-06-23 15:27:41 -06:00
Mark Ladyshau
60869c2598
fix(ext/fetch): add accept-language
default header to fetch ( #14882 )
2022-06-19 23:33:24 +02:00
denobot
e7ea4edc8a
1.23.0 ( #14878 )
...
* 1.23.0
* docs(Releases.md): update a few items for 1.23
* docs(Releases.md): revert bad formatting
Co-authored-by: aslilac <aslilac@users.noreply.github.com>
Co-authored-by: McKayla Washburn <mckayla@hey.com>
2022-06-15 17:02:18 -06:00
Ryan Dahl
d0dec8d36b
chore: upgrade various deps ( #14876 )
...
Co-authored-by: David Sherret <dsherret@gmail.com>
2022-06-15 13:48:53 -04:00
Colin Ihrig
cf866c5ad3
chore: Forward v1.22.3 to main ( #14835 )
...
* 1.22.3 (#14832 )
* chore: pin swc versions to fix cargo publish
Co-authored-by: denobot <33910674+denobot@users.noreply.github.com>
Co-authored-by: cjihrig <cjihrig@users.noreply.github.com>
Co-authored-by: David Sherret <dsherret@gmail.com>
2022-06-09 16:57:16 -04:00
Mark Ladyshau
cfb6067f9b
fix(ext/fetch): remove deprecation of URL
in deno fetch
( #14769 )
2022-06-07 01:58:21 +02:00
Bartek Iwańczuk
de562b0215
chore: Forward v1.22.2 to main ( #14785 )
2022-06-02 22:29:41 +02:00
Kitson Kelly
1c44f4060e
1.22.1
...
Co-authored-by: Kitson Kelly <me@kitsonkelly.com>
Co-authored-by: denobot <33910674+denobot@users.noreply.github.com>
2022-05-27 17:36:43 +10:00
denobot
5ad8919d64
1.22.0 ( #14657 )
...
Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
2022-05-18 20:35:16 +05:30
Luca Casonato
1c4028a381
fix: add types for Response.json
( #14655 )
2022-05-18 16:16:11 +02:00
Luca Casonato
a5b50d0915
feat(ext/web): implement static Response.json
( #14566 )
...
This commit adds support for the static `Response.json` method.
2022-05-13 14:28:05 +02:00
Bert Belder
89b428234c
1.21.3 ( #14584 )
2022-05-12 18:43:00 +02:00
Colin Ihrig
23c77df664
1.21.2 ( #14508 )
...
1.21.2
2022-05-05 19:37:27 -04:00
Luca Casonato
242273e69b
chore: update deps ( #14416 )
2022-05-05 12:41:59 +02:00
Leo Kettmeir
de2004dec5
Forward 1.21.1 ( #14428 )
2022-04-28 23:32:42 +02:00
Divy Srivastava
2eb8c3b82f
chore(ext/fetch): custom arity ( #14198 )
2022-04-23 22:19:06 +05:30
Luca Casonato
1ad8c11bc9
chore: bump crates ( #14365 )
2022-04-22 16:54:42 +02:00
Divy Srivastava
57f7e07c13
Reland "perf(http): optimize ReadableStreams backed by a resource" ( #14346 )
2022-04-22 16:19:08 +05:30
denobot
29c8cd8aae
1.21.0 ( #14336 )
...
Co-authored-by: ry <ry@users.noreply.github.com>
Co-authored-by: David Sherret <dsherret@gmail.com>
2022-04-20 21:50:16 -04:00
Bartek Iwańczuk
03019e7781
Revert various PRs related to "ext/http" ( #14339 )
...
* Revert "feat(ext/http): stream auto resp body compression (#14325 )"
* Revert "core: introduce `resource.read_return` (#14331 )"
* Revert "perf(http): optimize `ReadableStream`s backed by a resource (#14284 )"
2022-04-21 02:22:55 +02:00
Divy Srivastava
2612b6f20f
core: introduce resource.read_return
( #14331 )
2022-04-20 18:39:13 +02:00
David Sherret
0e4574b2e3
chore: forward v1.20.6 release commit to main ( #14288 )
2022-04-14 15:50:48 -04:00
David Sherret
b2aaf708ab
chore: forward v1.20.5 release commit to main ( #14232 )
2022-04-07 14:40:20 -04:00
Bartek Iwańczuk
6c25b5135d
chore: update tokio, tokio-util and libc dependencies ( #14174 )
2022-04-02 19:54:40 +02:00
Aaron O'Mullan
94885bc293
experiment(serde_v8): derive_more enabled opaque wrappers ( #14096 )
2022-04-02 14:37:11 +02:00
David Sherret
7fec7c834c
1.20.4 ( #14168 )
2022-03-31 15:48:35 -04:00
Andreu Botella
d983b577bc
chore(wasm): Don't await on the argument to handleWasmStreaming
( #14000 )
...
`handleWasmStreaming` is the function that provides the binding with
the `fetch` API needed for `WebAssembly.instantiateStreaming()` and
`WebAssembly.compileStreaming()`. When I implemented it in #11200 , I
thought V8 was calling these functions with the argument of the
`WebAssembly` streaming functions, without doing any resolving, and so
`handleWasmStreaming` awaits for the parameter to resolve. However,
as discovered in
https://github.com/denoland/deno/issues/13917#issuecomment-1065805565 ,
V8 does in fact resolve the parameter if it's a promise (and handles
rejections arising from that).
This change removes the `async` IIFE inside `handleWasmStreaming`,
letting initial errors be handled synchronously (which will however
not throw synchronously from the `WebAssembly` namespace functions).
Awaiting is still necessary for reading the bytes of the response,
though, and so there is an `async` IIFE for that.
2022-03-29 14:44:33 +02:00
Nayeem Rahman
317f13b63f
fix(ext/fetch): extend deprecated fetch() overload with string | Request
( #14134 )
2022-03-28 12:35:48 +02:00
Luca Casonato
37b0ec454c
chore: forward v1.20.3 release commit to main ( #14121 )
2022-03-25 18:53:55 +01:00
Yoshiya Hinosawa
3462d87503
fix: deprecate URL as the first arg of fetch ( #14113 )
2022-03-25 20:23:55 +09:00
apeltop
bb3387de17
chore(ext): fix typo in ext/webgpu, ext/fetch ( #14106 )
2022-03-25 00:36:30 +01:00
Kitson Kelly
cff1e92ecf
1.20.2
2022-03-24 14:47:06 +11:00
Nayeem Rahman
d2c099ce34
fix(ext/fetch): Connect async error stack with user code ( #13899 )
2022-03-22 18:08:33 +01:00
Andreu Botella
12d28dffc6
fix(fetch): Fix uncaught rejection panic with WebAssembly.instantiateStreaming
( #13925 )
...
When an exception is thrown during the processing of streaming WebAssembly,
`op_wasm_streaming_abort` is called. This op calls into V8, which synchronously
rejects the promise and calls into the promise rejection handler, if applicable.
But calling an op borrows the isolate's `JsRuntimeState` for the duration of the
op, which means it is borrowed when V8 calls into `promise_reject_callback`,
which tries to borrow it again, panicking.
This change changes `op_wasm_streaming_abort` from an op to a binding
(`Deno.core.abortWasmStreaming`). Although that binding must borrow the
`JsRuntimeState` in order to access the `WasmStreamingResource` stored in the
`OpTable`, it also takes ownership of that `WasmStreamingResource` instance,
which means it can drop any borrows of the `JsRuntimeState` before calling into
V8.
2022-03-22 11:33:29 +01:00
Andreu Botella
593801e265
cleanup(web, fetch): dedupe minesniff / "extract a MIME type" algorithm ( #14044 )
...
Closes #14002
2022-03-20 14:31:12 +01:00
Ryan Dahl
fce60f2cc2
v1.20.1
2022-03-16 21:40:31 -04:00
Ryan Dahl
f7ab41583e
fix: cargo publish fails without absolute paths ( #13993 )
...
This reverts commit 4e3ed37037
.
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2022-03-17 01:25:44 +01:00
Ryan Dahl
418c1eb4b3
v1.20.0
2022-03-16 16:07:35 -04:00
Ryan Dahl
45b3aa22c0
feat(ext/fetch): Allow Response status 101 ( #13969 )
...
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2022-03-16 14:30:43 +01:00
wspsxing
fe606c52e1
fix: upgrade reqwest to 0.11.10 ( #13951 )
2022-03-14 23:12:59 -04:00
Aaron O'Mullan
88d0f01948
feat(ops): custom arity ( #13949 )
...
Also cleanup & drop ignored wildcard op-args
2022-03-14 23:38:53 +01:00
Divy Srivastava
b4e42953e1
feat(core): codegen ops ( #13861 )
...
Co-authored-by: Aaron O'Mullan <aaron.omullan@gmail.com>
2022-03-14 18:44:15 +01:00
Divy Srivastava
4e3ed37037
chore: improve build times for ext/
changes ( #13927 )
2022-03-14 09:08:54 +05:30
Yoshiya Hinosawa
3c11768aab
v1.19.3
2022-03-10 23:29:14 +09:00
Satya Rohith
95459e60f6
chore: bump crate version for 1.19.2 ( #13824 )
2022-03-03 15:05:18 -05:00
David Sherret
4deefafdd1
chore: bump crate versions for 1.19.1 ( #13760 )
2022-02-24 17:45:39 -05:00
Bartek Iwańczuk
e17ab6322e
chore: release crates for v1.19.0 ( #13698 )
2022-02-17 00:57:40 +01:00
ylxdzsw
4dff70b434
docs(ext/fetch): fix copy-paste errors in Request docs ( #13681 )
2022-02-16 13:50:15 +01:00
Geert-Jan Zwiers
911ddbc733
chore(ext/fetch): render jsdoc code example properly ( #13656 )
2022-02-12 16:15:54 +01:00
Bartek Iwańczuk
bf22f114a6
refactor: update runtime code for primordial check for iterators ( #13510 )
2022-02-07 13:54:32 +01:00
Bartek Iwańczuk
82284d8052
chore: forward v1.18.2 to main ( #13595 )
2022-02-04 21:44:38 +01:00
Bartek Iwańczuk
8176a4d166
refactor: primordials for instanceof ( #13527 )
2022-02-01 18:06:11 +01:00
Bartek Iwańczuk
5cf23176dc
chore: forward v1.18.1 to main ( #13514 )
2022-01-27 18:52:34 +01:00
Bartek Iwańczuk
f248e6f177
Revert "refactor: update runtime code for primordial checks for "instanceof" ( #13497 )" ( #13511 )
...
This reverts commit 884143218f
.
2022-01-27 16:27:22 +01:00
Bartek Iwańczuk
884143218f
refactor: update runtime code for primordial checks for "instanceof" ( #13497 )
2022-01-27 13:36:36 +01:00
Divy Srivastava
16776c9ade
chore: bump crate version for 0.18.0 ( #13441 )
2022-01-20 20:50:39 +05:30
Yoshiya Hinosawa
4c1053ad33
chore: update copyright year ( #13434 )
2022-01-20 16:10:16 +09:00
Bartek Iwańczuk
9975ede773
chore: forward v1.17.3 to main ( #13364 )
2022-01-13 20:47:42 +01:00
Ryan Dahl
1fb5858009
chore: update copyright to 2022 ( #13306 )
...
Co-authored-by: Erfan Safari <erfanshield@outlook.com>
2022-01-07 22:09:52 -05:00
Bartek Iwańczuk
46f2ff1205
chore: forward 1.17.2 to main ( #13295 )
2022-01-06 13:20:42 +01:00
Bartek Iwańczuk
9391ba1098
chore: merge v1.17.1 into main ( #13184 )
2021-12-22 22:20:17 +01:00
Bartek Iwańczuk
e0cba6b19b
chore: release crates for v1.17.0 ( #13112 )
2021-12-16 18:51:23 +01:00
Andreu Botella
8efe829fca
feat(fetch): support abort reasons in fetch ( #13106 )
2021-12-16 12:58:24 +01:00
Kitson Kelly
345f0fbe5c
feat(cli): update to TypeScript 4.5 ( #12410 )
...
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
2021-12-10 09:12:21 +11:00
Ryan Dahl
a2f1357fe8
chore: upgrade to rustls 0.20 ( #12488 )
...
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
Co-authored-by: Bert Belder <bertbelder@gmail.com>
2021-12-07 00:48:11 +01:00
Luca Casonato
72e9720e91
chore: merge v1.16.4 into main ( #12984 )
2021-12-04 01:26:54 +01:00
Leo Kettmeir
46794d4e43
refactor(ext/fetch): pass opstate in FetchHandler::fetch_file
2021-12-03 14:25:16 +01:00
Ryan Dahl
084caffc08
refactor: cli doesn't need to depend on deno_tls ( #12952 )
...
also move create_http_client to deno_fetch
2021-12-01 11:13:11 -05:00
Ryan Dahl
f3b74350da
refactor: remove deno_fetch::HttpClientDefaults ( #12931 )
...
More clean up that should have been in cc83ad3
2021-11-29 10:29:41 -05:00
Ryan Dahl
cc83ad39ce
refactor: add deno_fetch::Options for init ( #12904 )
...
deno_fetch::init has a lot of parameters and generic on two types
that keeps expanding over time. This refactor adds deno_fetch::Options
struct for more clearly defining the various parameters.
2021-11-28 13:07:03 -05:00
Andreu Botella
d763633781
feat(etc/fetch): Support WebAssembly.instantiateStreaming
for file fetches ( #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-26 19:52:41 +11:00
Bert Belder
c6f3493f18
chore: merge v1.16.3 into main ( #12892 )
2021-11-24 15:56:18 -08:00
Luca Casonato
2eae1ae665
revert: store header keys lower case internally ( #12837 )
...
This reverts commit 49ec3d10ad
.
2021-11-23 01:23:11 +01:00
David Sherret
cd61cedd19
chore: bump crates for 1.16.2 ( #12792 )
2021-11-17 10:14:23 -05:00
Luca Casonato
3250ffe020
chore: bump crate versions for 1.16.1 ( #12729 )
2021-11-11 11:16:05 +01:00
Aaron O'Mullan
375ce63c63
feat(core): streams ( #12596 )
...
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-09 19:26:17 +01:00
Luca Casonato
4f64acd4e4
chore: bump crate versions for 1.16.0 ( #12706 )
2021-11-09 13:03:17 +01:00
Luca Casonato
0de6d1edc4
fix(fetch): set content-length for empty POST/PUT ( #12703 )
...
This commit changes `fetch` to set `content-length: 0` on POST and PUT
requests with no body.
2021-11-09 12:10:40 +01:00
Bartek Iwańczuk
8e31bbbe55
chore: update to Rust edition 2021 ( #12578 )
2021-11-02 10:03:37 -04:00
Kitson Kelly
d3662e487d
feat(ext/fetch): support fetching local files ( #12545 )
...
Closes #11925
Closes #2150
Co-authored-by: Bert Belder <bertbelder@gmail.com>
2021-11-01 15:29:46 +11:00
Aaron O'Mullan
e98a36b213
cleanup(ext/fetch): consistent op names ( #12612 )
...
Rename `op_create_http_client` to `op_fetch_custom_client` to follow prefix/namespaced convention
2021-10-31 19:14:22 +01:00
Malted
8e0fd1dca1
fix(ext/fetch): Replace redundant local variable with inline return statement ( #12583 )
2021-10-29 13:42:10 +02:00
Aaron O'Mullan
c27ef0ac7b
perf(http): encode string bodies in op-layer ( #12451 )
...
Using serde_v8's StringOrBuffer
2021-10-26 22:00:01 +02:00
Yoshiya Hinosawa
c7dcf1cbdd
chore: bump crate version for 1.15.3 ( #12531 )
2021-10-25 15:48:01 +09:00
Bartek Iwańczuk
2997021615
fix: declare web types as global ( #12497 )
...
Co-authored-by: Feng Yu <F3n67u@outlook.com>
2021-10-21 08:47:14 +02:00
Bartek Iwańczuk
1cd9272a91
chore: release crates for v1.15.2 ( #12478 )
2021-10-18 20:30:00 +02:00
Satya Rohith
fb094ae026
chore: bump crate version for 1.15.0 ( #12406 )
2021-10-12 22:16:15 +05:30
David Sherret
9b1f0c8ba3
chore: upgrade crates based on deno ast 0.3 ( #12403 )
2021-10-12 09:58:04 -04:00
Aaron O'Mullan
5bad8e1773
perf(webidl): inline ResponseInit converter ( #12285 )
2021-10-11 23:43:52 +02:00
Andreu Botella
5edd277161
feat: Show the URL of streaming WASM modules in stack traces ( #12268 )
...
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-10 16:03:23 +02:00
Aaron O'Mullan
7e38ae17ea
perf(fetch): fast path Uint8Array in extractBody() ( #12351 )
2021-10-07 22:57:17 +02:00
Leo K
77a00ce1fb
chore: various op cleanup ( #12329 )
2021-10-05 22:38:27 +02:00
Bartek Iwańczuk
d67e858506
chore: merge v1.14.3 into main ( #12327 )
2021-10-05 21:40:39 +02:00
Luca Casonato
64a7187238
chore: remove No*Permissions structs ( #12316 )
...
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 22:56:24 +02:00
Aaron O'Mullan
f68825eda0
perf(fetch): optimize fillHeaders() key iteration ( #12287 )
...
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 12:17:16 +02:00
Aaron O'Mullan
68e5cdaff0
perf(web): ~400x faster http header trimming ( #12277 )
...
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 18:39:55 +02:00
Luca Casonato
0d7a417f33
feat(tls): custom in memory CA certificates ( #12219 )
...
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-30 09:26:15 +02:00
Ahab
923d9c7786
fix(ext/fetch): avoid panic when header is invalid ( #12244 )
2021-09-29 18:42:06 +02:00