Redesign Error type
- The `Error`'s kind is a now a set of variants depending on the context of when an error could occur. - If another error was the cause, it is now always the `source`. Along with the `is_*` methods, this should help in understanding *when* a certain error occurred. For example, an error setting the TLS certificates will return a builder error, with the TLS error as the source. This should help differentiate from a TLS error that happens when connecting to a server. It also makes the internal code less dependent on all the exact dependencies that can be enabled or disabled.
This commit is contained in:
@@ -227,7 +227,7 @@ impl Response {
|
||||
pub async fn json<T: DeserializeOwned>(self) -> crate::Result<T> {
|
||||
let full = self.bytes().await?;
|
||||
|
||||
serde_json::from_slice(&full).map_err(crate::error::from)
|
||||
serde_json::from_slice(&full).map_err(crate::error::decode)
|
||||
}
|
||||
|
||||
/// Get the full response body as `Bytes`.
|
||||
|
||||
Reference in New Issue
Block a user