Merge pull request #1309 from lemonrock/cow
feat(http): add Body::from(cow) for bytes and strings
This commit is contained in:
		| @@ -2,6 +2,7 @@ use bytes::Bytes; | ||||
| use futures::{Poll, Stream}; | ||||
| use futures::sync::mpsc; | ||||
| use tokio_proto; | ||||
| use std::borrow::Cow; | ||||
|  | ||||
| use http::Chunk; | ||||
|  | ||||
| @@ -94,6 +95,17 @@ impl From<&'static [u8]> for Body { | ||||
|     } | ||||
| } | ||||
|  | ||||
| impl From<Cow<'static, [u8]>> for Body { | ||||
|     #[inline] | ||||
|     fn from (cow: Cow<'static, [u8]>) -> Body { | ||||
| 		if let Cow::Borrowed(value) = cow { | ||||
| 			Body::from(value) | ||||
| 		} else { | ||||
| 			Body::from(cow.to_owned()) | ||||
| 		} | ||||
|     } | ||||
| } | ||||
|  | ||||
| impl From<String> for Body { | ||||
|     #[inline] | ||||
|     fn from (s: String) -> Body { | ||||
| @@ -108,6 +120,17 @@ impl From<&'static str> for Body { | ||||
|     } | ||||
| } | ||||
|  | ||||
| impl From<Cow<'static, str>> for Body { | ||||
|     #[inline] | ||||
|     fn from (cow: Cow<'static, str>) -> Body { | ||||
| 		if let Cow::Borrowed(value) = cow { | ||||
| 			Body::from(value) | ||||
| 		} else { | ||||
| 			Body::from(cow.to_owned()) | ||||
| 		} | ||||
|     } | ||||
| } | ||||
|  | ||||
| impl From<Option<Body>> for Body { | ||||
|     #[inline] | ||||
|     fn from (body: Option<Body>) -> Body { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user