diff --git a/README.md b/README.md index 9f16858..5156e24 100644 --- a/README.md +++ b/README.md @@ -11,9 +11,9 @@
`AWS_ENDPOINT` - S3 endpoint (optional)
-`AWS_ACCESS_KEY_ID` - S3 Access key (optional) +`AWS_ACCESS_KEY_ID` - S3 Access key (required)
-`AWS_SECRET_ACCESS_KEY` S3 Secret key (optional) +`AWS_SECRET_ACCESS_KEY` S3 Secret key (required)
`HEADER_CC_1Y` - Add header `Cache-Control: public, max-age=31536000` (optional) diff --git a/src/main.rs b/src/main.rs index 4cf759a..f253f60 100644 --- a/src/main.rs +++ b/src/main.rs @@ -98,7 +98,7 @@ async fn index() -> impl Responder { async fn main() -> std::io::Result<()> { env_logger::init_from_env(Env::default().default_filter_or("info")); - let env_vars = &["AWS_ENDPOINT", "AWS_BUCKET"]; + let env_vars = &["AWS_BUCKET"]; for var in env_vars { check_env_var(var); @@ -111,15 +111,18 @@ async fn main() -> std::io::Result<()> { panic!("Either both AWS_ACCESS_KEY_ID and AWS_SECRET_ACCESS_KEY must be set or neither."); } - let endpoint = env::var("AWS_ENDPOINT").ok(); - let region_provider = RegionProviderChain::default_provider().or_else("us-east-1"); - let shared_config = aws_config::from_env() - .region(region_provider) - .endpoint_url(endpoint.unwrap_or_default()) - .load() - .await; + let mut config_builder = aws_config::from_env() + .region(region_provider); + + if let Ok(endpoint_value) = env::var("AWS_ENDPOINT") { + config_builder = config_builder.endpoint_url(endpoint_value); + } + + let shared_config = config_builder.load().await; + + println!("{:?}", shared_config); let client = Client::new(&shared_config); let bind_address = get_bind_address();