http-rs / http-types

Common types for HTTP operations
https://docs.rs/http-types
Apache License 2.0
200 stars 84 forks source link

Convert from/into web_sys::Request/Response #317

Open olanod opened 3 years ago

olanod commented 3 years ago

It's nice that http-types compiles to WASM in the browser, even nicer would be to have a way to convert back and forth between the Request/Response types in this crate and the "native" JS Request/Response to avoid wrapping with a new type. The feature can be gated with a flag(e.g. web). This is probably better and more general purpose than what I proposed in https://github.com/http-rs/http-client/issues/60 and can eventually simplify the code over there. I also think conversion could be made more efficient if the JS Request/Response body that is a ReadableStream(implements the asyncIterator protocol) is converted to a Stream/AsyncReader, modern Chrome even allows transferring those streams with the postMessage API so for my use case of intercepting requests from a ServiceWorker to be handled in a Worker(Using Rust and http-types) could be made much more efficient in the future.