Comment by echelon
6 hours ago
Does Boa support `fetch`? And if so, is it built on Reqwest or Wreq [1]?
I immediately have use for this if y'all have async fetch support. I can use JavaScript as an extension language for our app.
I love how supremely easy it looks to embed in normal Rust apps without a complicated build script. That, to me, is a killer feature.
Really awesome work on this!
[1] Wreq is starting to get popular for its ability to bypass Cloudflare and look like a normal browser
So this is a bit loaded. Short answer: it can.
Long answer: first, `fetch` is a runtime feature, and Boa is first and foremost an engine. So `boa_engine` -- the core project crate -- does not support `fetch` out of the box.
That being said, we do have a `boa_runtime` crate. This crate is not currently a full runtime, but it is a collection of runtime features that have been implemented and can be registered onto the context. `fetch` is one of the features that has an implementation completed in `boa_runtime`, and it does use reqwest if I'm remembering correctly. If you're interested to see some example code of registering features, you can look at our CLI code as an example :)
This sounds really well architected and extensible. I've gotta check this out.
Thank you!
No problem! If you have any questions, feel free to open an issue / discussion or reach out to us on Matrix / Discord.