diff options
| author | Fuwn <[email protected]> | 2022-07-09 01:03:10 +0000 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2022-07-09 01:03:10 +0000 |
| commit | c44562486a876903957c442586dd6fa13ac9faeb (patch) | |
| tree | 9c41fb843ac682e42173f00569a3e7c358e18e57 /src/response.rs | |
| parent | docs(cargo): bump version 0.1.15 -> 0.1.16 (diff) | |
| download | windmark-0.1.17.tar.xz windmark-0.1.17.zip | |
feat(response): always allow explicit mime specificationv0.1.17
Diffstat (limited to 'src/response.rs')
| -rw-r--r-- | src/response.rs | 110 |
1 files changed, 6 insertions, 104 deletions
diff --git a/src/response.rs b/src/response.rs index 0459c06..ed320b5 100644 --- a/src/response.rs +++ b/src/response.rs @@ -24,8 +24,9 @@ pub enum Response<'a> { SensitiveInput(String), Success(String), #[cfg(feature = "auto-deduce-mime")] - SuccessFile(&'a [u8]), - #[cfg(not(feature = "auto-deduce-mime"))] + /// A successful response where the MIME type of the response is + /// automatically deduced from the provided bytes + SuccessFileAuto(&'a [u8]), SuccessFile(&'a [u8], String), TemporaryRedirect(String), PermanentRedirect(String), @@ -44,7 +45,6 @@ pub enum Response<'a> { CertificateNotValid(String), } -#[cfg(not(feature = "auto-deduce-mime"))] pub(crate) fn to_value_set_status( response: Response<'_>, status: &mut i32, @@ -72,107 +72,9 @@ pub(crate) fn to_value_set_status( String::from_utf8(value.to_vec()).unwrap() } - Response::TemporaryRedirect(value) => { - *status = 30; - - value - } - Response::PermanentRedirect(value) => { - *status = 31; - - value - } - Response::TemporaryFailure(value) => { - *status = 40; - - value - } - Response::ServerUnavailable(value) => { - *status = 41; - - value - } - Response::CGIError(value) => { - *status = 42; - - value - } - Response::ProxyError(value) => { - *status = 43; - - value - } - Response::SlowDown(value) => { - *status = 44; - - value - } - Response::PermanentFailure(value) => { - *status = 50; - - value - } - Response::NotFound(value) => { - *status = 51; - - value - } - Response::Gone(value) => { - *status = 52; - - value - } - Response::ProxyRefused(value) => { - *status = 53; - - value - } - Response::BadRequest(value) => { - *status = 59; - - value - } - Response::ClientCertificateRequired(value) => { - *status = 60; - - value - } - Response::CertificateNotAuthorised(value) => { - *status = 61; - - value - } - Response::CertificateNotValid(value) => { - *status = 62; - - value - } - } -} - -#[cfg(feature = "auto-deduce-mime")] -pub(crate) fn to_value_set_status( - response: Response<'_>, - status: &mut i32, -) -> String { - match response { - Response::Input(value) => { - *status = 10; - - value - } - Response::SensitiveInput(value) => { - *status = 11; - - value - } - Response::Success(value) => { - *status = 20; - - value - } - Response::SuccessFile(value) => { - *status = 21; // Internal status code, not real. + #[cfg(feature = "auto-deduce-mime")] + Response::SuccessFileAuto(value) => { + *status = 22; // Internal status code, not real. String::from_utf8(value.to_vec()).unwrap() } |