Skip to main content

cratefield_runtime_cloudflare/
config.rs

1//! `Config` over the Workers `Env`: secrets first, then vars.
2
3use cratefield_core::Config;
4use worker::Env;
5
6pub struct EnvConfig(pub Env);
7
8impl Config for EnvConfig {
9    fn get(&self, key: &str) -> Option<String> {
10        // Secrets take precedence over vars of the same name.
11        self.0
12            .secret(key)
13            .map(|secret| secret.to_string())
14            .ok()
15            .or_else(|| self.0.var(key).map(|var| var.to_string()).ok())
16    }
17}