1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#[macro_use]
extern crate serde_derive;
use serde_xml_rs as serde_xml;
#[macro_use]
extern crate log;
pub use awsregion as region;
pub use awscreds as creds;
pub mod bucket;
pub mod command;
pub mod request;
pub mod serde_types;
pub mod signing;
pub mod deserializer;
simpl::err!(S3Error, {
Xml@serde_xml::Error;
Req@reqwest::Error;
InvalidHeaderName@reqwest::header::InvalidHeaderName;
InvalidHeaderValue@reqwest::header::InvalidHeaderValue;
Hmac@hmac::crypto_mac::InvalidKeyLength;
Utf8@std::str::Utf8Error;
Io@std::io::Error;
Region@awsregion::AwsRegionError;
Creds@awscreds::AwsCredsError;
UrlParse@url::ParseError;
});
const LONG_DATE: &str = "%Y%m%dT%H%M%SZ";
const EMPTY_PAYLOAD_SHA: &str = "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855";