Skip to content

Commit 6faa653

Browse files
committed
feat(http): implement Default for Body
1 parent f5567db commit 6faa653

File tree

1 file changed

+20
-1
lines changed

1 file changed

+20
-1
lines changed

src/http/body.rs

+20-1
Original file line numberDiff line numberDiff line change
@@ -13,76 +13,95 @@ pub struct Body(TokioBody);
1313

1414
impl Body {
1515
/// Return an empty body stream
16+
#[inline]
1617
pub fn empty() -> Body {
1718
Body(TokioBody::empty())
1819
}
1920

2021
/// Return a body stream with an associated sender half
22+
#[inline]
2123
pub fn pair() -> (mpsc::Sender<Result<Chunk, ::Error>>, Body) {
2224
let (tx, rx) = TokioBody::pair();
2325
let rx = Body(rx);
2426
(tx, rx)
2527
}
2628
}
2729

30+
impl Default for Body {
31+
#[inline]
32+
fn default() -> Body {
33+
Body::empty()
34+
}
35+
}
36+
2837
impl Stream for Body {
2938
type Item = Chunk;
3039
type Error = ::Error;
3140

41+
#[inline]
3242
fn poll(&mut self) -> Poll<Option<Chunk>, ::Error> {
3343
self.0.poll()
3444
}
3545
}
3646

3747
impl From<Body> for tokio_proto::streaming::Body<Chunk, ::Error> {
48+
#[inline]
3849
fn from(b: Body) -> tokio_proto::streaming::Body<Chunk, ::Error> {
3950
b.0
4051
}
4152
}
4253

4354
impl From<tokio_proto::streaming::Body<Chunk, ::Error>> for Body {
55+
#[inline]
4456
fn from(tokio_body: tokio_proto::streaming::Body<Chunk, ::Error>) -> Body {
4557
Body(tokio_body)
4658
}
4759
}
4860

4961
impl From<mpsc::Receiver<Result<Chunk, ::Error>>> for Body {
62+
#[inline]
5063
fn from(src: mpsc::Receiver<Result<Chunk, ::Error>>) -> Body {
5164
Body(src.into())
5265
}
5366
}
5467

5568
impl From<Chunk> for Body {
69+
#[inline]
5670
fn from (chunk: Chunk) -> Body {
5771
Body(TokioBody::from(chunk))
5872
}
5973
}
6074

6175
impl From<Bytes> for Body {
76+
#[inline]
6277
fn from (bytes: Bytes) -> Body {
6378
Body(TokioBody::from(Chunk::from(bytes)))
6479
}
6580
}
6681

6782
impl From<Vec<u8>> for Body {
83+
#[inline]
6884
fn from (vec: Vec<u8>) -> Body {
6985
Body(TokioBody::from(Chunk::from(vec)))
7086
}
7187
}
7288

7389
impl From<&'static [u8]> for Body {
90+
#[inline]
7491
fn from (slice: &'static [u8]) -> Body {
7592
Body(TokioBody::from(Chunk::from(slice)))
7693
}
7794
}
7895

7996
impl From<String> for Body {
97+
#[inline]
8098
fn from (s: String) -> Body {
8199
Body(TokioBody::from(Chunk::from(s.into_bytes())))
82100
}
83101
}
84102

85103
impl From<&'static str> for Body {
104+
#[inline]
86105
fn from (slice: &'static str) -> Body {
87106
Body(TokioBody::from(Chunk::from(slice.as_bytes())))
88107
}
@@ -107,7 +126,7 @@ fn test_body_stream_concat() {
107126
tx.send(Ok("world".into())).wait().unwrap();
108127
});
109128

110-
let total = body.concat().wait().unwrap();
129+
let total = body.concat2().wait().unwrap();
111130
assert_eq!(total.as_ref(), b"hello world");
112131

113132
}

0 commit comments

Comments
 (0)