HTTP transport contract used by ExStorageServiceSdk.S3.Client.
The default, ExStorageServiceSdk.Transport.HTTPFetch, is built on http_fetch.
A replacement must return ExStorageServiceSdk.S3.Response structs whose :body
is either a binary or a stream process consumed through consume/4, and must
report failures as {:error, %ExStorageServiceSdk.Error{category: :transport}}.
Summary
Callbacks
@callback close(response :: ExStorageServiceSdk.S3.Response.t()) :: :ok
@callback consume( response :: ExStorageServiceSdk.S3.Response.t(), acc :: term(), reducer :: (binary(), term() -> {:ok, term()} | {:error, ExStorageServiceSdk.Error.t()}), opts :: keyword() ) :: {:ok, term(), map()} | {:error, ExStorageServiceSdk.Error.t()}
@callback request( url :: String.t(), request :: ExStorageServiceSdk.S3.Request.t(), opts :: keyword() ) :: {:ok, ExStorageServiceSdk.S3.Response.t()} | {:error, ExStorageServiceSdk.Error.t()}