diff options
author | metamuffin <metamuffin@disroot.org> | 2025-04-27 19:25:11 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2025-04-27 19:25:11 +0200 |
commit | 11a585b3dbe620dcc8772e713b22f1d9ba80d598 (patch) | |
tree | 44f8d97137412aefc79a2425a489c34fa3e5f6c5 /server/src/routes/locale.rs | |
parent | d871aa7c5bba49ff55170b5d2dac9cd440ae7170 (diff) | |
download | jellything-11a585b3dbe620dcc8772e713b22f1d9ba80d598.tar jellything-11a585b3dbe620dcc8772e713b22f1d9ba80d598.tar.bz2 jellything-11a585b3dbe620dcc8772e713b22f1d9ba80d598.tar.zst |
move files around
Diffstat (limited to 'server/src/routes/locale.rs')
-rw-r--r-- | server/src/routes/locale.rs | 55 |
1 files changed, 0 insertions, 55 deletions
diff --git a/server/src/routes/locale.rs b/server/src/routes/locale.rs deleted file mode 100644 index 6d16c17..0000000 --- a/server/src/routes/locale.rs +++ /dev/null @@ -1,55 +0,0 @@ -use jellybase::locale::Language; -use rocket::{ - outcome::Outcome, - request::{self, FromRequest}, - Request, -}; -use std::ops::Deref; - -pub struct AcceptLanguage(pub Language); -impl Deref for AcceptLanguage { - type Target = Language; - fn deref(&self) -> &Self::Target { - &self.0 - } -} -impl<'r> FromRequest<'r> for AcceptLanguage { - type Error = (); - - fn from_request<'life0, 'async_trait>( - request: &'r Request<'life0>, - ) -> ::core::pin::Pin< - Box< - dyn ::core::future::Future<Output = request::Outcome<Self, Self::Error>> - + ::core::marker::Send - + 'async_trait, - >, - > - where - 'r: 'async_trait, - 'life0: 'async_trait, - Self: 'async_trait, - { - Box::pin(async move { Outcome::Success(AcceptLanguage(lang_from_request(request))) }) - } -} - -pub(crate) fn lang_from_request(request: &Request) -> Language { - request - .headers() - .get_one("accept-language") - .and_then(|h| { - h.split(",") - .filter_map(|e| { - let code = e.split(";").next()?; - let code = code.split_once("-").unwrap_or((code, "")).0; - match code { - "en" => Some(Language::English), - "de" => Some(Language::German), - _ => None, - } - }) - .next() - }) - .unwrap_or(Language::English) -} |