From 61e22f581b942c9a2ae087e1a54de26612fc8d04 Mon Sep 17 00:00:00 2001 From: Robert Pack Date: Mon, 16 May 2022 13:22:19 +0200 Subject: [PATCH] have only shared funcs in to level mod --- rust/src/storage/mod.rs | 16 +--------------- rust/src/storage/s3/mod.rs | 24 +++++++++++++++++------- 2 files changed, 18 insertions(+), 22 deletions(-) diff --git a/rust/src/storage/mod.rs b/rust/src/storage/mod.rs index b1ccb26939..82dbac5632 100644 --- a/rust/src/storage/mod.rs +++ b/rust/src/storage/mod.rs @@ -615,22 +615,8 @@ pub fn get_backend_for_uri_with_options( } } -#[allow(unused)] -pub(crate) fn str_or_default(map: &HashMap, key: &str, default: String) -> String { - map.get(key) - .map(|v| v.to_owned()) - .unwrap_or_else(|| std::env::var(key).unwrap_or(default)) -} - -#[allow(unused)] +#[cfg(any(feature = "s3", feature = "s3-rustls", feature = "azure"))] pub(crate) fn str_option(map: &HashMap, key: &str) -> Option { map.get(key) .map_or_else(|| std::env::var(key).ok(), |v| Some(v.to_owned())) } - -#[allow(unused)] -pub(crate) fn u64_or_default(map: &HashMap, key: &str, default: u64) -> u64 { - str_option(map, key) - .and_then(|v| v.parse().ok()) - .unwrap_or(default) -} diff --git a/rust/src/storage/s3/mod.rs b/rust/src/storage/s3/mod.rs index 5beaa96211..39a7df9d69 100644 --- a/rust/src/storage/s3/mod.rs +++ b/rust/src/storage/s3/mod.rs @@ -17,9 +17,7 @@ use rusoto_s3::{ use rusoto_sts::{StsAssumeRoleSessionCredentialsProvider, StsClient, WebIdentityProvider}; use tokio::io::AsyncReadExt; -use super::{ - parse_uri, str_option, str_or_default, u64_or_default, ObjectMeta, StorageBackend, StorageError, -}; +use super::{parse_uri, str_option, ObjectMeta, StorageBackend, StorageError}; use rusoto_core::credential::{ AwsCredentials, CredentialsError, DefaultCredentialsProvider, ProvideAwsCredentials, }; @@ -239,7 +237,7 @@ impl S3StorageOptions { let endpoint_url = str_option(&options, s3_storage_options::AWS_ENDPOINT_URL); let region = if let Some(endpoint_url) = endpoint_url.as_ref() { Region::Custom { - name: str_or_default( + name: Self::str_or_default( &options, s3_storage_options::AWS_REGION, "custom".to_string(), @@ -259,18 +257,18 @@ impl S3StorageOptions { Self::ensure_env_var(&options, s3_storage_options::AWS_ROLE_ARN); Self::ensure_env_var(&options, s3_storage_options::AWS_ROLE_SESSION_NAME); - let s3_pool_idle_timeout = u64_or_default( + let s3_pool_idle_timeout = Self::u64_or_default( &options, s3_storage_options::AWS_S3_POOL_IDLE_TIMEOUT_SECONDS, 15, ); - let sts_pool_idle_timeout = u64_or_default( + let sts_pool_idle_timeout = Self::u64_or_default( &options, s3_storage_options::AWS_STS_POOL_IDLE_TIMEOUT_SECONDS, 10, ); - let s3_get_internal_server_error_retries = u64_or_default( + let s3_get_internal_server_error_retries = Self::u64_or_default( &options, s3_storage_options::AWS_S3_GET_INTERNAL_SERVER_ERROR_RETRIES, 10, @@ -297,6 +295,18 @@ impl S3StorageOptions { } } + fn str_or_default(map: &HashMap, key: &str, default: String) -> String { + map.get(key) + .map(|v| v.to_owned()) + .unwrap_or_else(|| std::env::var(key).unwrap_or(default)) + } + + fn u64_or_default(map: &HashMap, key: &str, default: u64) -> u64 { + str_option(map, key) + .and_then(|v| v.parse().ok()) + .unwrap_or(default) + } + fn ensure_env_var(map: &HashMap, key: &str) { if let Some(val) = str_option(map, key) { std::env::set_var(key, val);