Base package that can be used for v4 signing for AWS and others. Used by kaashyapan/s3.
pub(all) struct CanonicalParts {
canonical_request : String
string_to_sign : String
signed_headers : String
payload_hash : String
} derive(Eq)pub(all) struct Credentials {
access_key_id : String
secret_access_key : String
session_token : String?
} derive(Eq)fn Credentials::Credentials(access_key_id : String, secret_access_key : String, session_token? : String) -> Credentialspub(all) struct HttpRequest {
meth : RequestMethod
path : String
query : Array[(String, String?)]
headers : Array[(String, String)]
body : Bytes
} derive(Eq)pub(all) struct SigningOptions {
timestamp : String
region : String
service : String
normalize_path : Bool
percent_encoding : PercentEncoding
payload_hash : PayloadHash
payload_checksum_kind : PayloadChecksumKind
omit_session_token : Bool
excluded_headers : Array[String]
} derive(Eq)fn SigningOptions::SigningOptions(timestamp~ : String, region~ : String, service~ : String, normalize_path? : Bool, percent_encoding? : PercentEncoding, payload_hash? : PayloadHash, payload_checksum_kind? : PayloadChecksumKind, omit_session_token? : Bool, excluded_headers? : Array[String]) -> SigningOptionsfn SigningOptions::for_s3(timestamp~ : String, region~ : String, service? : String, payload_hash? : PayloadHash, omit_session_token? : Bool, excluded_headers? : Array[String]) -> SigningOptionsfn canonical_parts(request~ : HttpRequest, credentials~ : Credentials, options~ : SigningOptions) -> CanonicalPartsfn encode_query_component(s : String) -> Stringfn percent_encode_path(s : String) -> Stringfn presign_url(request~ : HttpRequest, credentials~ : Credentials, options~ : SigningOptions, expires~ : Int, scheme? : String) -> PresignedUrl raisefn signing_key(secret~ : String, date~ : String, region~ : String, service~ : String) -> BytesInstall
Download zipBase package that can be used for v4 signing for AWS and others. Used by kaashyapan/s3.