fusio 0.6.0

Fusio provides lean, minimal cost abstraction and extensible Read / Write trait to multiple storage on multiple poll-based / completion-based async runtime.
Documentation
pub mod credential;
mod error;
#[cfg(feature = "fs")]
pub mod fs;
pub mod head;
pub(crate) mod multipart_upload;
pub(crate) mod options;
pub(crate) mod s3;
pub(crate) mod sign;
pub(crate) mod writer;

pub use credential::AwsCredential;
pub use error::S3Error;
pub use s3::S3File;
use serde::Deserialize;

const STRICT_ENCODE_SET: percent_encoding::AsciiSet = percent_encoding::NON_ALPHANUMERIC
    .remove(b'-')
    .remove(b'.')
    .remove(b'_')
    .remove(b'~');
const STRICT_PATH_ENCODE_SET: percent_encoding::AsciiSet = STRICT_ENCODE_SET.remove(b'/');
const CHECKSUM_HEADER: &str = "x-amz-checksum-sha256";

#[derive(Default, Debug, Deserialize, PartialEq, Eq)]
#[serde(default, rename_all = "PascalCase")]
pub(crate) struct S3ResponseError {
    pub code: String,
    pub message: String,
    pub resource: String,
    pub request_id: String,
}