Skip to content

Commit 59a3133

Browse files
committed
Refactor config reading to function
Signed-off-by: Denys Fedoryshchenko <denys.f@collabora.com>
1 parent a523860 commit 59a3133

3 files changed

Lines changed: 12 additions & 20 deletions

File tree

src/azure.rs

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ impl AzureDriver {
1010
}
1111
}
1212

13-
use crate::{Args, ReceivedFile};
13+
use crate::{Args, ReceivedFile, get_config_content};
1414
use axum::http::{HeaderName, HeaderValue};
1515
use azure_storage::StorageCredentials;
1616
use azure_storage_blobs::prelude::{BlobBlockType, BlockId, BlockList, ClientBuilder, Tags};
@@ -41,13 +41,7 @@ struct AzureConfig {
4141

4242
/// Get Azure credentials from config.toml
4343
fn get_azure_credentials(name: &str) -> AzureConfig {
44-
let args = Args::parse();
45-
let mut cfg_file = args.config_file;
46-
// check if env variable available KCI_STORAGE_CONFIG
47-
if let Ok(env_cfg_file) = std::env::var("KCI_STORAGE_CONFIG") {
48-
cfg_file = env_cfg_file;
49-
}
50-
let cfg_content = std::fs::read_to_string(cfg_file).unwrap();
44+
let cfg_content = get_config_content();
5145
let cfg: Table = toml::from_str(&cfg_content).unwrap();
5246
let azure_cfg = cfg.get(name).unwrap();
5347
let account = azure_cfg.get("account").unwrap().as_str().unwrap();

src/main.rs

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,13 @@ fn init_driver(driver_type: &str) -> Box<dyn Driver> {
9696
return driver;
9797
}
9898

99+
pub fn get_config_content() -> String {
100+
let args = Args::parse();
101+
let cfg_file = PathBuf::from(&args.config_file);
102+
let cfg_content = std::fs::read_to_string(&cfg_file).unwrap();
103+
cfg_content
104+
}
105+
99106
/// Initial variables configuration and checks
100107
async fn initial_setup() -> Option<RustlsConfig> {
101108
let cache_dir = "cache";

src/storjwt.rs

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
1-
use crate::Args;
2-
use clap::Parser;
1+
use crate::get_config_content;
32
use hmac::{Hmac, Mac};
43
use jwt::{Header, Token, VerifyWithKey, SignWithKey};
54
use sha2::Sha256;
@@ -8,13 +7,7 @@ use toml::value::Table;
87
use rand::{distributions::Alphanumeric, Rng};
98
pub fn verify_jwt_token(token_str: &str) -> Result<BTreeMap<String, String>, jwt::Error> {
109
// config.toml, jwt_secret parameter
11-
let args = Args::parse();
12-
let mut cfg_file = args.config_file;
13-
// check if env variable available KCI_STORAGE_CONFIG
14-
if let Ok(env_cfg_file) = std::env::var("KCI_STORAGE_CONFIG") {
15-
cfg_file = env_cfg_file;
16-
}
17-
let toml_cfg = std::fs::read_to_string(&cfg_file).unwrap();
10+
let toml_cfg = get_config_content();
1811
let parsed_toml = toml_cfg.parse::<Table>().unwrap();
1912
let key_str = parsed_toml["jwt_secret"].as_str().unwrap();
2013
let key: Hmac<Sha256> = Hmac::new_from_slice(key_str.as_bytes())?;
@@ -54,9 +47,7 @@ pub fn generate_jwt_secret() {
5447
}
5548

5649
pub fn generate_jwt_token(email: &str) -> Result<String, jwt::Error> {
57-
let args = Args::parse();
58-
let cfg_file = args.config_file;
59-
let toml_cfg = std::fs::read_to_string(&cfg_file).unwrap();
50+
let toml_cfg = get_config_content();
6051
let parsed_toml = toml_cfg.parse::<Table>().unwrap();
6152
let key_str = parsed_toml["jwt_secret"].as_str().unwrap();
6253
let key: Hmac<Sha256> = Hmac::new_from_slice(key_str.as_bytes())?;

0 commit comments

Comments
 (0)