info.rs 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  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(signatory_url) = env::var(ENV_SIGNATORY_URL) {
  20. self.signatory_url = Some(signatory_url);
  21. }
  22. if let Ok(signatory_certs) = env::var(ENV_SIGNATORY_CERTS) {
  23. self.signatory_certs = Some(signatory_certs);
  24. }
  25. if let Ok(mnemonic) = env::var(ENV_MNEMONIC) {
  26. self.mnemonic = Some(mnemonic);
  27. }
  28. if let Ok(cache_seconds_str) = env::var(ENV_CACHE_SECONDS) {
  29. if let Ok(seconds) = cache_seconds_str.parse() {
  30. self.http_cache.ttl = Some(seconds);
  31. }
  32. }
  33. if let Ok(extend_cache_str) = env::var(ENV_EXTEND_CACHE_SECONDS) {
  34. if let Ok(seconds) = extend_cache_str.parse() {
  35. self.http_cache.tti = Some(seconds);
  36. }
  37. }
  38. if let Ok(fee_str) = env::var(ENV_INPUT_FEE_PPK) {
  39. if let Ok(fee) = fee_str.parse() {
  40. self.input_fee_ppk = Some(fee);
  41. }
  42. }
  43. if let Ok(swagger_str) = env::var(ENV_ENABLE_SWAGGER) {
  44. if let Ok(enable) = swagger_str.parse() {
  45. self.enable_swagger_ui = Some(enable);
  46. }
  47. }
  48. self.http_cache = self.http_cache.from_env();
  49. self
  50. }
  51. }