Add TryFrom<Request> for HttpRequest<Option<Body>>
This commit is contained in:
committed by
Sean McArthur
parent
66c1b48167
commit
3879694c09
@@ -570,6 +570,31 @@ where
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl TryFrom<Request> for HttpRequest<Body> {
|
||||||
|
type Error = crate::Error;
|
||||||
|
|
||||||
|
fn try_from(req: Request) -> crate::Result<Self> {
|
||||||
|
let Request {
|
||||||
|
method,
|
||||||
|
url,
|
||||||
|
headers,
|
||||||
|
body,
|
||||||
|
version,
|
||||||
|
..
|
||||||
|
} = req;
|
||||||
|
|
||||||
|
let mut req = HttpRequest::builder()
|
||||||
|
.version(version)
|
||||||
|
.method(method)
|
||||||
|
.uri(url.as_str())
|
||||||
|
.body(body.unwrap_or_else(Body::empty))
|
||||||
|
.map_err(crate::error::builder)?;
|
||||||
|
|
||||||
|
*req.headers_mut() = headers;
|
||||||
|
Ok(req)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
#[cfg(test)]
|
#[cfg(test)]
|
||||||
mod tests {
|
mod tests {
|
||||||
use super::{Client, HttpRequest, Request, Version};
|
use super::{Client, HttpRequest, Request, Version};
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
use std::convert::TryFrom;
|
use std::convert::TryFrom;
|
||||||
use std::fmt;
|
use std::fmt;
|
||||||
|
|
||||||
|
use bytes::Bytes;
|
||||||
use http::{request::Parts, Method, Request as HttpRequest};
|
use http::{request::Parts, Method, Request as HttpRequest};
|
||||||
use serde::Serialize;
|
use serde::Serialize;
|
||||||
#[cfg(feature = "json")]
|
#[cfg(feature = "json")]
|
||||||
@@ -435,3 +436,26 @@ where
|
|||||||
})
|
})
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl TryFrom<Request> for HttpRequest<Body> {
|
||||||
|
type Error = crate::Error;
|
||||||
|
|
||||||
|
fn try_from(req: Request) -> crate::Result<Self> {
|
||||||
|
let Request {
|
||||||
|
method,
|
||||||
|
url,
|
||||||
|
headers,
|
||||||
|
body,
|
||||||
|
..
|
||||||
|
} = req;
|
||||||
|
|
||||||
|
let mut req = HttpRequest::builder()
|
||||||
|
.method(method)
|
||||||
|
.uri(url.as_str())
|
||||||
|
.body(body.unwrap_or_else(|| Body::from(Bytes::default())))
|
||||||
|
.map_err(crate::error::builder)?;
|
||||||
|
|
||||||
|
*req.headers_mut() = headers;
|
||||||
|
Ok(req)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user