Request bodies passed as an iterator/generator/stream are currently fully buffered into memory before the HTTP connection starts, in both impit-python (see #511) and impit-node (ReadableStream/async-iterable bodies are read to completion and concatenated before reaching the native layer).
The root cause is the shared core Rust crate, which only accepts Option<Vec<u8>> bodies. We should support streaming bodies directly into the request instead.
Request bodies passed as an iterator/generator/stream are currently fully buffered into memory before the HTTP connection starts, in both
impit-python(see #511) andimpit-node(ReadableStream/async-iterable bodies are read to completion and concatenated before reaching the native layer).The root cause is the shared core Rust crate, which only accepts
Option<Vec<u8>>bodies. We should support streaming bodies directly into the request instead.