From 3296d00ec3530a05c81c1ebc95d642037b3ded16 Mon Sep 17 00:00:00 2001 From: Emi Tatsuo Date: Fri, 20 Nov 2020 09:51:37 -0500 Subject: [PATCH] Add From> to Response This allows users to call &mut Document.into() in order to create a response, so that you can do it right in the middle of one of those builder call chain thingies --- examples/document.rs | 10 ++++------ src/types/response.rs | 6 ++++++ 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/examples/document.rs b/examples/document.rs index 8ff6bbb..e2e685b 100644 --- a/examples/document.rs +++ b/examples/document.rs @@ -18,9 +18,7 @@ async fn main() -> Result<()> { fn handle_request(_request: Request) -> BoxFuture<'static, Result> { async move { - let mut document = Document::new(); - - document + let response = Document::new() .add_preformatted(include_str!("northstar_logo.txt")) .add_blank_line() .add_link("https://docs.rs/northstar", "Documentation") @@ -43,9 +41,9 @@ fn handle_request(_request: Request) -> BoxFuture<'static, Result> { .add_preformatted_with_alt("sh", concat!( "mkdir cert && cd cert\n", "openssl req -x509 -nodes -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365", - )); - - Ok(Response::document(document)) + )) + .into(); + Ok(response) } .boxed() } diff --git a/src/types/response.rs b/src/types/response.rs index ce1b5b6..dceec4e 100644 --- a/src/types/response.rs +++ b/src/types/response.rs @@ -95,3 +95,9 @@ impl Response { self.body.take() } } + +impl> From for Response { + fn from(doc: D) -> Self { + Self::document(doc) + } +}