Module Aws.Error

This contains errors that are returned from AWS api calls.

type 'a code =
| Understood of 'a
| Unknown of string

An individual error returned from AWS.

type bad_response = {
body : string;
message : string;
}

Contents of a bad response error, containing the body of what could not be interpreted and a (potential) reason why.

type 'a error_response =
| BadResponse of bad_response

A BadResponse is an error response that could not be parsed into AWS error data structures.

| AwsError of ('a code * string) list

An AwsError is a list of errors parsed out of XML returned in a non-2xx response.

An error_response is returned when an HTTP response returns with a non-2xx code.

type 'a t =
| TransportError of string

TransportError indicate that an error occurred at the level of the HTTP request (and generally, nothing was returned).

| HttpError of int * 'a error_response

HttpError indicates that a response was recieved with an HTTP error code (non-2xx)

val format : ('a -> string) -> 'a t -> string

Produces a string representation of an error, suitable for printing.

val parse_aws_error : string -> [ `Ok of (string * string) list | `Error of string ]

Given a string error response, produces (code,message) pairs. If the body can't be decoded, produces an `Error reason. This is used by runtime implementations in the case they get a non-success response code.