| @@ -7,7 +7,7 @@ use hyper::status::StatusCode; | ||||
| use hyper::version::HttpVersion; | ||||
| use hyper::{Url}; | ||||
|  | ||||
| use serde::Serialize; | ||||
| use serde::{Deserialize, Serialize}; | ||||
| use serde_json; | ||||
| use serde_urlencoded; | ||||
|  | ||||
| @@ -275,6 +275,11 @@ impl Response { | ||||
|     pub fn version(&self) -> &HttpVersion { | ||||
|         &self.inner.version | ||||
|     } | ||||
|  | ||||
|     /// Try and deserialize the response body as JSON. | ||||
|     pub fn json<T: Deserialize>(&mut self) -> ::Result<T> { | ||||
|         serde_json::from_reader(self).map_err(::Error::from) | ||||
|     } | ||||
| } | ||||
|  | ||||
| /// Read the body of the Response. | ||||
|   | ||||
| @@ -68,5 +68,11 @@ impl From<::serde_urlencoded::ser::Error> for Error { | ||||
|     } | ||||
| } | ||||
|  | ||||
| impl From<::serde_json::Error> for Error { | ||||
|     fn from(err: ::serde_json::Error) -> Error { | ||||
|         Error::Serialize(Box::new(err)) | ||||
|     } | ||||
| } | ||||
|  | ||||
| /// A `Result` alias where the `Err` case is `reqwest::Error`. | ||||
| pub type Result<T> = ::std::result::Result<T, Error>; | ||||
|   | ||||
		Reference in New Issue
	
	Block a user