aboutsummaryrefslogtreecommitdiff
path: root/src/request/status.rs
diff options
context:
space:
mode:
authorFuwn <[email protected]>2022-06-14 08:45:09 +0000
committerFuwn <[email protected]>2022-06-14 08:45:09 +0000
commitb5703a59c59bfe95143cf8dc6cc54f20f67fb4fd (patch)
tree44022e3944119c39df5b9082aaac3a77841c8c10 /src/request/status.rs
parentfix(ast): list ast construction (diff)
downloadgerm-b5703a59c59bfe95143cf8dc6cc54f20f67fb4fd.tar.xz
germ-b5703a59c59bfe95143cf8dc6cc54f20f67fb4fd.zip
feat(macros): general utility macros
Diffstat (limited to 'src/request/status.rs')
-rw-r--r--src/request/status.rs110
1 files changed, 0 insertions, 110 deletions
diff --git a/src/request/status.rs b/src/request/status.rs
deleted file mode 100644
index f46059a..0000000
--- a/src/request/status.rs
+++ /dev/null
@@ -1,110 +0,0 @@
-// This file is part of Germ <https://github.com/gemrest/germ>.
-// Copyright (C) 2022-2022 Fuwn <[email protected]>
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, version 3.
-//
-// This program is distributed in the hope that it will be useful, but
-// WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-// General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program. If not, see <http://www.gnu.org/licenses/>.
-//
-// Copyright (C) 2022-2022 Fuwn <[email protected]>
-// SPDX-License-Identifier: GPL-3.0-only
-
-use std::{fmt, fmt::Formatter};
-
-/// Simple Gemini status reporting
-///
-/// # Examples
-///
-/// ```rust
-/// use germ::request::Status;
-///
-/// assert_eq!(Status::from(10), Status::Input);
-/// assert_eq!(i32::from(Status::Input), 10);
-/// ```
-#[derive(Debug, PartialEq)]
-pub enum Status {
- Input,
- SensitiveInput,
- Success,
- TemporaryRedirect,
- PermanentRedirect,
- TemporaryFailure,
- ServerUnavailable,
- CGIError,
- ProxyError,
- SlowDown,
- PermanentFailure,
- NotFound,
- Gone,
- ProxyRefused,
- BadRequest,
- ClientCertificateRequired,
- CertificateNotAuthorised,
- CertificateNotValid,
- Unsupported,
-}
-impl Default for Status {
- fn default() -> Self { Self::Success }
-}
-impl From<Status> for i32 {
- fn from(n: Status) -> Self {
- match n {
- Status::Input => 10,
- Status::SensitiveInput => 11,
- Status::Success => 20,
- Status::TemporaryRedirect => 30,
- Status::PermanentRedirect => 31,
- Status::TemporaryFailure => 40,
- Status::ServerUnavailable => 41,
- Status::CGIError => 42,
- Status::ProxyError => 43,
- Status::SlowDown => 44,
- Status::PermanentFailure => 50,
- Status::NotFound => 51,
- Status::Gone => 52,
- Status::ProxyRefused => 53,
- Status::BadRequest => 59,
- Status::ClientCertificateRequired => 60,
- Status::CertificateNotAuthorised => 61,
- Status::CertificateNotValid => 62,
- Status::Unsupported => 0,
- }
- }
-}
-impl From<i32> for Status {
- fn from(n: i32) -> Self {
- match n {
- 10 => Self::Input,
- 11 => Self::SensitiveInput,
- 20 => Self::Success,
- 30 => Self::TemporaryRedirect,
- 31 => Self::PermanentRedirect,
- 40 => Self::TemporaryFailure,
- 41 => Self::ServerUnavailable,
- 42 => Self::CGIError,
- 43 => Self::ProxyError,
- 44 => Self::SlowDown,
- 50 => Self::PermanentFailure,
- 51 => Self::NotFound,
- 52 => Self::Gone,
- 53 => Self::ProxyRefused,
- 59 => Self::BadRequest,
- 60 => Self::ClientCertificateRequired,
- 61 => Self::CertificateNotAuthorised,
- 62 => Self::CertificateNotValid,
- _ => Self::Unsupported,
- }
- }
-}
-impl fmt::Display for Status {
- fn fmt(&self, f: &mut Formatter<'_>) -> fmt::Result {
- write!(f, "{:?}", self)
- }
-}