Change Part::stream to reqwest::r#async::Chunk
This commit is contained in:
		
				
					committed by
					
						 Sean McArthur
						Sean McArthur
					
				
			
			
				
	
			
			
			
						parent
						
							8027a2894a
						
					
				
				
					commit
					81e0f1ff2a
				
			| @@ -165,6 +165,7 @@ impl Chunk { | ||||
|         } | ||||
|     } | ||||
| } | ||||
|  | ||||
| impl Buf for Chunk { | ||||
|     fn bytes(&self) -> &[u8] { | ||||
|         self.inner.bytes() | ||||
| @@ -210,10 +211,40 @@ impl IntoIterator for Chunk { | ||||
|     } | ||||
| } | ||||
|  | ||||
| impl From<Vec<u8>> for Chunk { | ||||
|     fn from(v: Vec<u8>) -> Chunk { | ||||
|         Chunk { inner: v.into() } | ||||
|     } | ||||
| } | ||||
|  | ||||
| impl From<&'static [u8]> for Chunk { | ||||
|     fn from(slice: &'static [u8]) -> Chunk { | ||||
|         Chunk { inner: slice.into() } | ||||
|     } | ||||
| } | ||||
|  | ||||
| impl From<String> for Chunk { | ||||
|     fn from(s: String) -> Chunk { | ||||
|         Chunk { inner: s.into() } | ||||
|     } | ||||
| } | ||||
|  | ||||
| impl From<&'static str> for Chunk { | ||||
|     fn from(slice: &'static str) -> Chunk { | ||||
|         Chunk { inner: slice.into() } | ||||
|     } | ||||
| } | ||||
|  | ||||
| impl From<Bytes> for Chunk { | ||||
|     fn from(bytes: Bytes) -> Chunk { | ||||
|         Chunk { inner: bytes.into() } | ||||
|     } | ||||
| } | ||||
|  | ||||
| impl From<Chunk> for hyper::Chunk { | ||||
|   fn from(val: Chunk) -> hyper::Chunk { | ||||
|     val.inner | ||||
|   } | ||||
|     fn from(val: Chunk) -> hyper::Chunk { | ||||
|         val.inner | ||||
|     } | ||||
| } | ||||
|  | ||||
| impl fmt::Debug for Body { | ||||
|   | ||||
| @@ -9,7 +9,7 @@ use http::HeaderMap; | ||||
|  | ||||
| use futures::Stream; | ||||
|  | ||||
| use super::Body; | ||||
| use super::{Body, Chunk}; | ||||
|  | ||||
| /// An async multipart/form-data request. | ||||
| pub struct Form { | ||||
| @@ -185,10 +185,10 @@ impl Part { | ||||
|     pub fn stream<T>(value: T) -> Part | ||||
|     where | ||||
|         T: Stream + Send + 'static, | ||||
|         T::Item: Into<Chunk>, | ||||
|         T::Error: std::error::Error + Send + Sync, | ||||
|         hyper::Chunk: std::convert::From<T::Item>, | ||||
|     { | ||||
|         Part::new(Body::wrap(hyper::Body::wrap_stream(value))) | ||||
|         Part::new(Body::wrap(hyper::Body::wrap_stream(value.map(|chunk| chunk.into())))) | ||||
|     } | ||||
|  | ||||
|     fn new(value: Body) -> Part { | ||||
| @@ -477,13 +477,13 @@ mod tests { | ||||
|     #[test] | ||||
|     fn stream_to_end() { | ||||
|         let mut form = Form::new() | ||||
|             .part("reader1", Part::stream(futures::stream::once::<_, hyper::Error>(Ok(hyper::Chunk::from("part1".to_owned()))))) | ||||
|             .part("reader1", Part::stream(futures::stream::once::<_, hyper::Error>(Ok(Chunk::from("part1".to_owned()))))) | ||||
|             .part("key1", Part::text("value1")) | ||||
|             .part( | ||||
|                 "key2", | ||||
|                 Part::text("value2").mime(mime::IMAGE_BMP), | ||||
|             ) | ||||
|             .part("reader2", Part::stream(futures::stream::once::<_, hyper::Error>(Ok(hyper::Chunk::from("part2".to_owned()))))) | ||||
|             .part("reader2", Part::stream(futures::stream::once::<_, hyper::Error>(Ok(Chunk::from("part2".to_owned()))))) | ||||
|             .part( | ||||
|                 "key3", | ||||
|                 Part::text("value3").file_name("filename"), | ||||
|   | ||||
		Reference in New Issue
	
	Block a user