Awskit_s3.Endpoint_resolverS3 endpoint and addressing resolution.
Most application code should pass endpoint options to an adapter create function or to Awskit_s3.Presigned. This module is exposed so custom runtimes can use the same endpoint configuration type as Awskit_s3.Make.
type addressing_style = Endpoint_config.addressing_styleRequested bucket addressing style.
For object key exactly "soap", `Auto selects path-style addressing because AWS S3 does not support that key with virtual-hosted-style requests. Explicit `Virtual_hosted resolution rejects that key with a validation error instead of generating an invalid request.
type endpoint_variant = Endpoint_config.endpoint_variantAWS S3 endpoint variant.
Concrete addressing style selected for one request.
module Request : sig ... endtype t = Endpoint_config.tS3 endpoint configuration.
val default : tDefault AWS S3 regional HTTPS endpoint configuration.
val addressing_style : t -> addressing_styleReturn the configured addressing-style preference.
val endpoint_variant : t -> endpoint_variant optionReturn the configured AWS endpoint variant, if this is an AWS endpoint policy.
val endpoint :
t ->
region:Awskit.Region.t ->
(Awskit.Endpoint.t, Awskit.Error.t) Stdlib.resultResolve the base S3 endpoint for a region.
val resolve_bucket_request :
t ->
region:Awskit.Region.t ->
bucket:Bucket_name.t ->
suffix:string ->
signing_suffix:string ->
(Request.t, Awskit.Error.t) Stdlib.resultResolve endpoint, transport path, and signing path for a bucket-level request.
val resolve_object_request :
t ->
region:Awskit.Region.t ->
bucket:Bucket_name.t ->
key:Object_key.t ->
(Request.t, Awskit.Error.t) Stdlib.resultResolve endpoint, transport path, and signing path for an object request.
Object key exactly "soap" is resolved with path-style addressing when the configuration is `Auto or `Path. It is rejected for explicit `Virtual_hosted addressing.