View Source backwater_response (backwater v3.6.0)

Summary

Types

-type error() ::
    {exception, {Class :: error | exit | throw, Reason :: term(), [backwater:stack_item()]}} |
    {failure(), raw_response()}.
-type failure() ::
    {response_authentication, response_authentication_failure()} |
    response_decode_failure() |
    remote.
-type headers() :: [{nonempty_binary(), binary()}].
-type options() ::
    #{decode_unsafe_terms => boolean(),
      max_encoded_result_size => non_neg_integer(),
      rethrow_remote_exceptions => boolean()}.
-type raw_response() :: {status_code_name(), CiHeaders :: headers(), RawBody :: binary()}.
Link to this type

response_authentication_failure/0

View Source
-type response_authentication_failure() ::
    backwater_signatures:response_validation_failure() | wrong_body_digest.
Link to this type

response_decode_failure/0

View Source
-type response_decode_failure() :: invalid_content_encoding | invalid_content_type | invalid_body.
-type status_code() :: pos_integer().
-type status_code_name() ::
    ok | bad_request | unauthorized | forbidden | not_found | not_acceptable | payload_too_large |
    unsupported_media_type | internal_error |
    {http, status_code()}.
-type t() :: {ok, Value :: term()} | {error, error()} | no_return().
-type t(OtherError) :: {ok, Value :: term()} | {error, error() | OtherError} | no_return().

Functions

Link to this function

decode(StatusCode, Headers, Body, RequestState)

View Source
-spec decode(StatusCode, Headers, Body, RequestState) -> Response | no_return()
          when
              StatusCode :: status_code(),
              Headers :: headers(),
              Body :: binary(),
              RequestState :: backwater_request:state(),
              Response :: t().
Link to this function

decode(StatusCode, Headers, Body, RequestState, Options)

View Source
-spec decode(StatusCode, Headers, Body, RequestState, Options) -> Response | no_return()
          when
              StatusCode :: status_code(),
              Headers :: headers(),
              Body :: binary(),
              RequestState :: backwater_request:state(),
              Options :: options(),
              Response :: t().