#![forbid(unsafe_code)]
#[macro_use]
extern crate serde_derive;
use std::sync::atomic::AtomicU8;
pub use awscreds as creds;
pub use awsregion as region;
pub use bucket::Bucket;
pub use bucket::Tag;
pub use bucket_ops::BucketConfiguration;
pub use post_policy::{PostPolicy, PostPolicyChecksum, PostPolicyField, PostPolicyValue};
pub use put_object_request::PutObjectRequest;
#[cfg(any(feature = "with-tokio", feature = "with-async-std"))]
pub use put_object_request::PutObjectStreamRequest;
pub use region::Region;
pub mod bucket;
pub mod bucket_ops;
pub mod command;
pub mod deserializer;
pub mod post_policy;
pub mod put_object_request;
pub mod serde_types;
pub mod signing;
pub mod error;
pub mod request;
pub mod utils;
const LONG_DATETIME: &[time::format_description::FormatItem<'static>] =
time::macros::format_description!("[year][month][day]T[hour][minute][second]Z");
const EMPTY_PAYLOAD_SHA: &str = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";
static RETRIES: AtomicU8 = AtomicU8::new(1);
pub fn set_retries(retries: u8) {
RETRIES.store(retries, std::sync::atomic::Ordering::SeqCst);
}
pub fn get_retries() -> u8 {
RETRIES.load(std::sync::atomic::Ordering::Relaxed)
}