Skip to content

About

This crate provides a request guard used for getting `accept-language` header.

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Latest commit

 

History

49 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

accept-language Request Guard for Rocket Framework

CI

This crate provides a request guard used for getting accept-language header.

use rocket::get;
use rocket_accept_language::{
    language, language_region_pairs, unic_langid::subtags::Language, AcceptLanguage,
    LanguageIdentifier,
};

const LANGUAGE_ZH: Language = language!("zh");
const LANGUAGE_JA: Language = language!("ja");

#[get("/")]
fn hello(accept_language: &AcceptLanguage) -> &'static str {
    let supported_locales: Vec<LanguageIdentifier> = language_region_pairs!["en", "zh-Hant", "ja"];

    match accept_language.get_appropriate_locale(&supported_locales) {
        Some(locale) if locale.language == LANGUAGE_ZH => "哈囉!",
        Some(locale) if locale.language == LANGUAGE_JA => "ハロー",
        _ => "Hello!",
    }
}

Crates.io

https://crates.io/crates/rocket-accept-language

Documentation

https://docs.rs/rocket-accept-language

License

MIT

About

This crate provides a request guard used for getting `accept-language` header.

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages