Module Awskit.RequestSource

Body-free HTTP request metadata.

Body-free HTTP request metadata.

Runtime adapters receive request bodies separately through Runtime.Transport.with_response.

Sourcemodule Method : sig ... end
Sourcemodule Target : sig ... end
Sourcetype t = private {
  1. method_ : Method.t;
  2. target : Target.t;
  3. headers : (string * string) list;
}

Request metadata without a request body. Runtime adapters receive the body separately so service packages can stream without buffering.

Sourceval validate_headers : (string * string) list -> (unit, Error.t) result

Validate header names and values before signing or transport.

Sourceval create : method_:Method.t -> target:Target.t -> ?headers:(string * string) list -> unit -> (t, Error.t) result

Create request metadata. Headers are preserved in caller-provided order except where signing later canonicalizes them.

Sourceval create_exn : method_:Method.t -> target:Target.t -> ?headers:(string * string) list -> unit -> t

Like create, but raises Error.Awskit_error carrying the structured validation error on validation failure.

Sourceval with_headers : t -> (string * string) list -> (t, Error.t) result

Replace all headers after validating them.

Sourceval add_header : t -> name:string -> value:string -> (t, Error.t) result

Append one header after validation.