aboutsummaryrefslogtreecommitdiffstats
path: root/crates/api-base/src/version.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/api-base/src/version.rs')
-rw-r--r--crates/api-base/src/version.rs45
1 files changed, 0 insertions, 45 deletions
diff --git a/crates/api-base/src/version.rs b/crates/api-base/src/version.rs
deleted file mode 100644
index 0652c6e..0000000
--- a/crates/api-base/src/version.rs
+++ /dev/null
@@ -1,45 +0,0 @@
-#[derive(Debug)]
-#[cfg_attr(
- feature = "utoipa",
- derive(utoipa::ToSchema, serde::Deserialize, serde::Serialize),
- schema(example = "v0"),
- serde(rename_all = "lowercase")
-)]
-pub enum Version {
- V0,
-}
-
-#[cfg(feature = "axum")]
-mod request {
- use super::*;
- use axum::RequestPartsExt;
- use axum::extract::{FromRequestParts, Path};
- use axum::http::StatusCode;
- use axum::http::request::Parts;
- use axum::response::{IntoResponse, Response};
- use std::collections::HashMap;
-
- impl<S> FromRequestParts<S> for Version
- where
- S: Send + Sync,
- {
- type Rejection = Response;
-
- async fn from_request_parts(
- parts: &mut Parts,
- _state: &S,
- ) -> Result<Self, Self::Rejection> {
- let params: Path<HashMap<String, String>> =
- parts.extract().await.map_err(IntoResponse::into_response)?;
-
- let version = params
- .get("apiVersion")
- .ok_or_else(|| (StatusCode::NOT_FOUND, "version param missing").into_response())?;
-
- match version.as_str() {
- "v0" => Ok(Version::V0),
- _ => Err((StatusCode::NOT_FOUND, "unknown version").into_response()),
- }
- }
- }
-}