From c674dae447265c39126a9b27075dc4e30d6fd59d Mon Sep 17 00:00:00 2001 From: Jeremiah Senkpiel Date: Tue, 26 May 2020 10:51:59 -0700 Subject: [PATCH] Response, Result: add From-Into for each Related to https://github.com/http-rs/tide/issues/452 --- src/lib.rs | 6 ++++++ src/response.rs | 10 ++++++++++ 2 files changed, 16 insertions(+) diff --git a/src/lib.rs b/src/lib.rs index e39d7aa94..bb9990fd0 100755 --- a/src/lib.rs +++ b/src/lib.rs @@ -276,3 +276,9 @@ where /// A specialized Result type for Tide. pub type Result = std::result::Result; + +impl From for Result { + fn from(res: Response) -> Self { + Ok(res) + } +} diff --git a/src/response.rs b/src/response.rs index 5772fde7d..f6389bac4 100644 --- a/src/response.rs +++ b/src/response.rs @@ -313,6 +313,16 @@ impl<'a> From<&'a str> for Response { } } +impl From> for Response + where T: Into, E: Into { + fn from(result: Result) -> Self { + match result { + Ok(ok) => ok.into(), + Err(err) => err.into(), + } + } +} + impl IntoIterator for Response { type Item = (HeaderName, HeaderValues); type IntoIter = http_types::headers::IntoIter;