object

s3_endpoints

Endpoint and canonical-URI helpers for S3-compatible services.

Availability:
logtalk_load(s3(loader))
Author: Paulo Moura
Version: 1:0:0
Date: 2026-07-09
Compilation flags:
static, context_switching_calls
Imports:
public options
Uses:
Remarks:
(none)

Public predicates

request/6

Builds the request base URL plus signing endpoint context for an S3 operation.

Compilation flags:
static
Template:
request(Operation,Bucket,Key,URL,Endpoint,Options)
Mode and number of proofs:
request(+atom,@atom,@atom,-atom,-compound,+list(compound)) - one_or_error
Exceptions:
Operation is not a supported S3 operation:
domain_error(s3_operation,Operation)
Bucket is a variable:
instantiation_error
Bucket is neither a variable not a valid bucket:
domain_error(s3_request,Bucket)
Key is a variable:
instantiation_error
Key is neither a variable not a valid key:
domain_error(s3_request,Key)
Options contains an invalid endpoint or addressing style:
domain_error(s3_endpoint,Endpoint)
Remarks:
  • Option region/1: AWS region to use when endpoint/1 is absent. Defaults to us-east-1.

  • Option endpoint/1: Optional custom S3-compatible base endpoint URL, which may include a path prefix.

  • Option addressing_style/1: Endpoint addressing style, either virtual_hosted or path. Defaults to virtual_hosted.


canonical_uri/4

Returns the canonical request URI for an S3 operation using the selected endpoint style.

Compilation flags:
static
Template:
canonical_uri(Operation,Bucket,Key,CanonicalURI)
Mode and number of proofs:
canonical_uri(+atom,@atom,@atom,-atom) - one_or_error
Exceptions:
Operation is not a supported S3 operation:
domain_error(s3_operation,Operation)
Bucket is a variable:
instantiation_error
Bucket is neither a variable not a valid bucket:
domain_error(s3_request,Bucket)
Key is a variable:
instantiation_error
Key is neither a variable not a valid key:
domain_error(s3_request,Key)

canonical_uri/5

Returns the canonical request URI for an S3 operation using an explicit endpoint context.

Compilation flags:
static
Template:
canonical_uri(Operation,Context,Bucket,Key,CanonicalURI)
Mode and number of proofs:
canonical_uri(+atom,+compound,@atom,@atom,-atom) - one_or_error
Exceptions:
Operation is not a supported S3 operation:
domain_error(s3_operation,Operation)
Context is not a valid endpoint context:
domain_error(s3_endpoint,Context)
Bucket is a variable:
instantiation_error
Bucket or Key is invalid for the operation:
domain_error(s3_request,Argument)

Protected predicates

(no local declarations; see entity ancestors if any)

Private predicates

(no local declarations; see entity ancestors if any)

Operators

(none)