diff --git a/src/error.rs b/src/error.rs index 4b57d69e0..5fdc61a64 100644 --- a/src/error.rs +++ b/src/error.rs @@ -10,6 +10,7 @@ use std::error::Error as StdError; use cookie; use httparse; use futures::Canceled; +use failure; use failure::{Fail, Backtrace}; use http2::Error as Http2Error; use http::{header, StatusCode, Error as HttpError}; @@ -95,6 +96,16 @@ impl From for Error { } } +impl ResponseError for failure::Compat + where T: fmt::Display + fmt::Debug + Sync + Send + 'static +{ } + +impl From for Error { + fn from(err: failure::Error) -> Error { + Error { cause: Box::new(err.compat()), backtrace: None } + } +} + /// Default error is `InternalServerError` #[cfg(actix_nightly)] default impl ResponseError for T {