From 97884a183f378fd996029cde769df2e974fff1eb Mon Sep 17 00:00:00 2001 From: Fuwn Date: Sun, 27 Mar 2022 06:03:33 +0000 Subject: feat(response): respond with file --- src/response.rs | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) (limited to 'src/response.rs') diff --git a/src/response.rs b/src/response.rs index c7dbf88..d89dbf2 100644 --- a/src/response.rs +++ b/src/response.rs @@ -16,10 +16,11 @@ // Copyright (C) 2022-2022 Fuwn // SPDX-License-Identifier: GPL-3.0-only -pub enum Response { +pub enum Response<'a> { Input(String), SensitiveInput(String), Success(String), + SuccessFile(&'a [u8]), TemporaryRedirect(String), PermanentRedirect(String), TemporaryFailure(String), @@ -38,7 +39,7 @@ pub enum Response { } pub(crate) fn to_value_set_status( - response: Response, + response: Response<'_>, status: &mut i32, ) -> String { match response { @@ -57,6 +58,11 @@ pub(crate) fn to_value_set_status( value } + Response::SuccessFile(value) => { + *status = 21; // Internal status code, not real. + + String::from_utf8(value.to_vec()).unwrap() + } Response::TemporaryRedirect(value) => { *status = 30; -- cgit v1.2.3