Skip to content

Commit 8855b0d

Browse files
committed
Fix http-credentials feature gate, closes #354
1 parent 78620be commit 8855b0d

File tree

2 files changed

+9
-14
lines changed

2 files changed

+9
-14
lines changed

aws-creds/Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "aws-creds"
3-
version = "0.37.0"
3+
version = "0.38.0"
44
authors = ["Drazen Urch"]
55
description = "Rust library for working with Amazon IAM credential,s, supports `s3` crate"
66
repository = "https://github.com/durch/rust-s3"

aws-creds/src/credentials.rs

+8-13
Original file line numberDiff line numberDiff line change
@@ -26,15 +26,12 @@ use url::Url;
2626
/// use awscreds::Credentials;
2727
///
2828
/// // Load credentials from `[default]` profile
29-
/// #[cfg(feature="http-credentials")]
3029
/// let credentials = Credentials::default();
3130
///
3231
/// // Also loads credentials from `[default]` profile
33-
/// #[cfg(feature="http-credentials")]
3432
/// let credentials = Credentials::new(None, None, None, None, None);
3533
///
3634
/// // Load credentials from `[my-profile]` profile
37-
/// #[cfg(feature="http-credentials")]
3835
/// let credentials = Credentials::new(None, None, None, None, Some("my-profile".into()));
3936
///
4037
/// // Use anonymous credentials for public objects
@@ -56,14 +53,12 @@ use url::Url;
5653
/// // Load credentials directly
5754
/// let access_key = "AKIAIOSFODNN7EXAMPLE";
5855
/// let secret_key = "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY";
59-
/// #[cfg(feature="http-credentials")]
6056
/// let credentials = Credentials::new(Some(access_key), Some(secret_key), None, None, None);
6157
///
6258
/// // Load credentials from the environment
6359
/// use std::env;
6460
/// env::set_var("AWS_ACCESS_KEY_ID", "AKIAIOSFODNN7EXAMPLE");
6561
/// env::set_var("AWS_SECRET_ACCESS_KEY", "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY");
66-
/// #[cfg(feature="http-credentials")]
6762
/// let credentials = Credentials::new(None, None, None, None, None);
6863
/// ```
6964
#[derive(Clone, Debug, Eq, PartialEq, Serialize, Deserialize)]
@@ -192,7 +187,6 @@ fn http_get(url: &str) -> attohttpc::Result<attohttpc::Response> {
192187
}
193188

194189
impl Credentials {
195-
#[cfg(feature = "http-credentials")]
196190
pub fn refresh(&mut self) -> Result<(), CredentialsError> {
197191
if let Some(expiration) = self.expiration {
198192
if expiration.0 <= OffsetDateTime::now_utc() {
@@ -262,7 +256,6 @@ impl Credentials {
262256
})
263257
}
264258

265-
#[cfg(feature = "http-credentials")]
266259
#[allow(clippy::should_implement_trait)]
267260
pub fn default() -> Result<Credentials, CredentialsError> {
268261
Credentials::new(None, None, None, None, None)
@@ -280,7 +273,6 @@ impl Credentials {
280273

281274
/// Initialize Credentials directly with key ID, secret key, and optional
282275
/// token.
283-
#[cfg(feature = "http-credentials")]
284276
pub fn new(
285277
access_key: Option<&str>,
286278
secret_key: Option<&str>,
@@ -298,12 +290,15 @@ impl Credentials {
298290
});
299291
}
300292

301-
Credentials::from_sts_env("aws-creds")
302-
.or_else(|_| Credentials::from_env())
303-
.or_else(|_| Credentials::from_profile(profile))
293+
let credentials = Credentials::from_env().or_else(|_| Credentials::from_profile(profile));
294+
295+
#[cfg(feature = "http-credentials")]
296+
let credentials = credentials
297+
.or_else(|_| Credentials::from_sts_env("aws-creds"))
304298
.or_else(|_| Credentials::from_instance_metadata_v2(false))
305-
.or_else(|_| Credentials::from_instance_metadata(false))
306-
.map_err(|_| CredentialsError::NoCredentials)
299+
.or_else(|_| Credentials::from_instance_metadata(false));
300+
301+
credentials.map_err(|_| CredentialsError::NoCredentials)
307302
}
308303

309304
pub fn from_env_specific(

0 commit comments

Comments
 (0)