Merge pull request #1309 from lemonrock/cow

feat(http): add Body::from(cow) for bytes and strings
This commit is contained in:
Sean McArthur
2017-09-08 13:16:37 -07:00
committed by GitHub

View File

@@ -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 {