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}