object
s3_signing
AWS Signature Version 4 helpers specialized for S3.
logtalk_load(s3(loader))static, context_switching_callsPublic predicates
payload_hash/2
Returns the hexadecimal SHA-256 payload hash for a normalized HTTP body term.
staticpayload_hash(Body,Hash)payload_hash(+compound,-atom) - one_or_errorBody is not a valid normalized HTTP body term:domain_error(http_body,Body)existence_error(http_body_codec,MediaType)canonical_query/2
Returns the canonical AWS SigV4 query string for the given name-value pairs.
staticcanonical_query(Pairs,Query)canonical_query(+list(pair),-atom) - one_or_errorPairs is not a valid list of canonical query pairs:domain_error(s3_query_pairs,Pairs)canonical_request/6
Builds the canonical request string for the given method, URI, query pairs, signed headers, and payload hash.
staticcanonical_request(Method,CanonicalURI,QueryPairs,Headers,PayloadHash,CanonicalRequest)canonical_request(+atom,+atom,+list(pair),+list(compound),+atom,-atom) - one_or_errorMethod is not a supported HTTP method for this helper:domain_error(s3_method,Method)QueryPairs is not a valid list of canonical query pairs:domain_error(s3_query_pairs,QueryPairs)sign_request/8
Signs an S3 request and returns the final normalized header list.
staticsign_request(Method,HostHeader,CanonicalURI,QueryPairs,Body,Headers,SignedHeaders,Options)sign_request(+atom,+atom,+atom,+list(pair),+compound,+list(compound),-list(compound),+list(compound)) - one_or_errorOptions is missing valid credentials:domain_error(s3_credentials,missing)Body is not a valid normalized HTTP body term:domain_error(http_body,Body)Headers contains a managed or invalid signed header:domain_error(s3_managed_header,Header)domain_error(s3_amz_date,AmzDate)
Option
credentials/1: Required access credentials ascredentials(access_key_id(AccessKeyId), secret_access_key(SecretAccessKey)).Option
session_token/1: Optional session token for temporary credentials.Option
region/1: AWS region for the credential scope. Defaults tous-east-1.Option
payload_hash_mode/1: Payload signing mode, eithersignedorunsigned. Defaults tosigned.Option
request_time/1: Optional explicit local request time asdate_time(Year, Month, Day, Hours, Minutes, Seconds).Option
utc_offset_seconds/1: UTC offset used to derive the signing time from the local clock. Defaults to0.Option
amz_date/1: Optional explicit AWS SigV4 timestamp overriding any derived request time.
presigned_query_pairs/7
Signs an S3 request for query-string authentication and returns the final canonical query pairs, including the signature.
staticpresigned_query_pairs(Method,HostHeader,CanonicalURI,QueryPairs,Headers,SignedQueryPairs,Options)presigned_query_pairs(+atom,+atom,+atom,+list(pair),+list(compound),-list(pair),+list(compound)) - one_or_errorOptions is missing valid credentials:domain_error(s3_credentials,missing)Headers contains a managed or invalid signed header:domain_error(s3_managed_header,Header)domain_error(s3_amz_date,AmzDate)domain_error(s3_presign_expires,Expires)domain_error(s3_presign_payload_hash,Hash)
Option
credentials/1: Required access credentials ascredentials(access_key_id(AccessKeyId), secret_access_key(SecretAccessKey)).Option
session_token/1: Optional session token for temporary credentials. It is emitted as theX-Amz-Security-Tokenquery parameter.Option
region/1: AWS region for the credential scope. Defaults tous-east-1.Option
payload_hash_mode/1: Presigned URLs default tounsignedpayload hashing and useUNSIGNED-PAYLOAD. Usesignedtogether withpayload_hash/1to sign a precomputed payload hash.Option
payload_hash/1: Precomputed hexadecimal SHA-256 payload hash required whenpayload_hash_mode(signed)is selected.Option
request_time/1: Optional explicit local request time asdate_time(Year, Month, Day, Hours, Minutes, Seconds).Option
utc_offset_seconds/1: UTC offset used to derive the signing time from the local clock. Defaults to0.Option
amz_date/1: Optional explicit AWS SigV4 timestamp overriding any derived request time.Option
expires/1: Presigned URL lifetime in seconds. Defaults to900and must not exceed604800.
Protected predicates
(no local declarations; see entity ancestors if any)
Private predicates
(no local declarations; see entity ancestors if any)
Operators
(none)