info.rs 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. //! Info environment variables
  2. use std::env;
  3. use super::common::*;
  4. use crate::config::Info;
  5. impl Info {
  6. pub fn from_env(mut self) -> Self {
  7. // Required fields
  8. if let Ok(url) = env::var(ENV_URL) {
  9. self.url = url;
  10. }
  11. if let Ok(host) = env::var(ENV_LISTEN_HOST) {
  12. self.listen_host = host;
  13. }
  14. if let Ok(port_str) = env::var(ENV_LISTEN_PORT) {
  15. if let Ok(port) = port_str.parse() {
  16. self.listen_port = port;
  17. }
  18. }
  19. if let Ok(mnemonic) = env::var(ENV_MNEMONIC) {
  20. self.mnemonic = mnemonic;
  21. }
  22. if let Ok(cache_seconds_str) = env::var(ENV_CACHE_SECONDS) {
  23. if let Ok(seconds) = cache_seconds_str.parse() {
  24. self.http_cache.ttl = Some(seconds);
  25. }
  26. }
  27. if let Ok(extend_cache_str) = env::var(ENV_EXTEND_CACHE_SECONDS) {
  28. if let Ok(seconds) = extend_cache_str.parse() {
  29. self.http_cache.tti = Some(seconds);
  30. }
  31. }
  32. if let Ok(fee_str) = env::var(ENV_INPUT_FEE_PPK) {
  33. if let Ok(fee) = fee_str.parse() {
  34. self.input_fee_ppk = Some(fee);
  35. }
  36. }
  37. if let Ok(swagger_str) = env::var(ENV_ENABLE_SWAGGER) {
  38. if let Ok(enable) = swagger_str.parse() {
  39. self.enable_swagger_ui = Some(enable);
  40. }
  41. }
  42. self.http_cache = self.http_cache.from_env();
  43. self
  44. }
  45. }