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()}.
-type response_authentication_failure() :: backwater_signatures:response_validation_failure() | wrong_body_digest.
-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
-spec decode(StatusCode, Headers, Body, RequestState) -> Response | no_return() when StatusCode :: status_code(), Headers :: headers(), Body :: binary(), RequestState :: backwater_request:state(), Response :: t().
-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().