wasm: impl TryFrom<HttpRequest<T>> for Request (#997)
This commit is contained in:
		| @@ -1,7 +1,7 @@ | |||||||
| use std::convert::TryFrom; | use std::convert::TryFrom; | ||||||
| use std::fmt; | use std::fmt; | ||||||
|  |  | ||||||
| use http::Method; | use http::{request::Parts, Method, Request as HttpRequest}; | ||||||
| use url::Url; | use url::Url; | ||||||
| #[cfg(feature = "json")] | #[cfg(feature = "json")] | ||||||
| use serde_json; | use serde_json; | ||||||
| @@ -300,3 +300,28 @@ fn fmt_request_fields<'a, 'b>( | |||||||
|         .field("url", &req.url) |         .field("url", &req.url) | ||||||
|         .field("headers", &req.headers) |         .field("headers", &req.headers) | ||||||
| } | } | ||||||
|  |  | ||||||
|  | impl<T> TryFrom<HttpRequest<T>> for Request | ||||||
|  | where | ||||||
|  |     T: Into<Body>, | ||||||
|  | { | ||||||
|  |     type Error = crate::Error; | ||||||
|  |  | ||||||
|  |     fn try_from(req: HttpRequest<T>) -> crate::Result<Self> { | ||||||
|  |         let (parts, body) = req.into_parts(); | ||||||
|  |         let Parts { | ||||||
|  |             method, | ||||||
|  |             uri, | ||||||
|  |             headers, | ||||||
|  |             .. | ||||||
|  |         } = parts; | ||||||
|  |         let url = Url::parse(&uri.to_string()).map_err(crate::error::builder)?; | ||||||
|  |         Ok(Request { | ||||||
|  |             method, | ||||||
|  |             url, | ||||||
|  |             headers, | ||||||
|  |             body: Some(body.into()), | ||||||
|  |             cors: true, | ||||||
|  |         }) | ||||||
|  |     } | ||||||
|  | } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user