diff --git a/Cargo.toml b/Cargo.toml index 3ca4cdd..cc47493 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -24,6 +24,7 @@ try_from = "0.3.2" toml = { version = "0.5.0", optional = true } hyper-old-types = "0.11.0" envy = { version = "0.4.0", optional = true } +log = "0.4.6" [dependencies.chrono] version = "0.4" diff --git a/src/lib.rs b/src/lib.rs index db3bd32..b2f59a2 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -72,6 +72,8 @@ )] #![allow(intra_doc_link_resolution_failure)] +#[macro_use] +extern crate log; #[macro_use] extern crate serde_derive; #[macro_use] @@ -729,10 +731,14 @@ fn deserialise serde::Deserialize<'de>>(response: Response) -> Resul let mut reader = Tap::new(response); match serde_json::from_reader(&mut reader) { - Ok(t) => Ok(t), + Ok(t) => { + debug!("{}", String::from_utf8_lossy(&reader.bytes)); + Ok(t) + }, // If deserializing into the desired type fails try again to // see if this is an error response. Err(e) => { + error!("{}", String::from_utf8_lossy(&reader.bytes)); if let Ok(error) = serde_json::from_slice(&reader.bytes) { return Err(Error::Api(error)); }