| @@ -7,7 +7,7 @@ use hyper::status::StatusCode; | |||||||
| use hyper::version::HttpVersion; | use hyper::version::HttpVersion; | ||||||
| use hyper::{Url}; | use hyper::{Url}; | ||||||
|  |  | ||||||
| use serde::Serialize; | use serde::{Deserialize, Serialize}; | ||||||
| use serde_json; | use serde_json; | ||||||
| use serde_urlencoded; | use serde_urlencoded; | ||||||
|  |  | ||||||
| @@ -275,6 +275,11 @@ impl Response { | |||||||
|     pub fn version(&self) -> &HttpVersion { |     pub fn version(&self) -> &HttpVersion { | ||||||
|         &self.inner.version |         &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. | /// 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`. | /// A `Result` alias where the `Err` case is `reqwest::Error`. | ||||||
| pub type Result<T> = ::std::result::Result<T, Error>; | pub type Result<T> = ::std::result::Result<T, Error>; | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user