Skip to content

Commit

Permalink
Add From<Bytes> for blocking::Body (seanmonstar#1114)
Browse files Browse the repository at this point in the history
  • Loading branch information
varoonp123 authored and pfernie committed Jan 5, 2021
1 parent 3d3df07 commit 6efda70
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 0 deletions.
8 changes: 8 additions & 0 deletions src/blocking/body.rs
Expand Up @@ -203,6 +203,14 @@ impl From<File> for Body {
}
}
}
impl From<Bytes> for Body {
#[inline]
fn from(b: Bytes) -> Body {
Body {
kind: Kind::Bytes(b),
}
}
}

impl fmt::Debug for Kind {
fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
Expand Down
16 changes: 16 additions & 0 deletions tests/blocking.rs
Expand Up @@ -310,3 +310,19 @@ fn test_allowed_methods_blocking() {

assert_eq!(resp.is_err(), true);
}

/// Test that a [`reqwest::blocking::Body`] can be created from [`bytes::Bytes`].
#[test]
fn test_body_from_bytes() {
let body = "abc";
// No external calls are needed. Only the request building is tested.
let request = reqwest::blocking::Client::builder()
.build()
.expect("Could not build the client")
.put("https://google.com")
.body(bytes::Bytes::from(body))
.build()
.expect("Invalid body");

assert_eq!(request.body().unwrap().as_bytes(), Some(body.as_bytes()));
}

0 comments on commit 6efda70

Please sign in to comment.