multipart_write/stream/
mod.rs1use crate::MultipartWrite;
3
4use futures::stream::Stream;
5
6mod collect_completed;
7pub use collect_completed::CollectCompleted;
8
9mod feed_multipart_write;
10pub use feed_multipart_write::FeedMultipartWrite;
11
12impl<St: Stream> MultipartStreamExt for St {}
13
14pub trait MultipartStreamExt: Stream {
16 fn feed_multipart_write<Wr, F>(self, writer: Wr, f: F) -> FeedMultipartWrite<Self, Wr, F>
20 where
21 Wr: MultipartWrite<Self::Item>,
22 F: FnMut(Wr::Ret) -> bool,
23 Self: Sized,
24 {
25 FeedMultipartWrite::new(self, writer, f)
26 }
27
28 fn collect_completed<Wr, Part>(self, writer: Wr) -> CollectCompleted<Self, Wr, Part>
31 where
32 Wr: MultipartWrite<Part>,
33 Self: Stream<Item = Result<Part, Wr::Error>> + Sized,
34 {
35 CollectCompleted::new(self, writer)
36 }
37}