RequestSeal.Discovery.Error (RequestSeal v0.2.0)

Copy Markdown View Source

Bounded discovery failures, containing only reason and retryable.

Configuration failures: :invalid_source, :invalid_options. Transport failures: :transport_unavailable (caller must start SSL), :resolution_failed, :address_denied, :connect_failed, :tls_failed, :deadline_exceeded, :redirect_denied, :redirect_limit. Response failures: :unexpected_status, :unexpected_media_type, :limit, :invalid_response, :invalid_key_set, :client_id_mismatch, :ambiguous_key_source, :directory_unsigned, :directory_signature_invalid. Resolution/cache failures: :unknown_key, :revoked_key, :source_unavailable, :cache_overloaded.

Connect failure, deadline expiry, source unavailability, cache overload and :unexpected_status from 5xx responses are retryable; 4xx responses are not. Retryability never authorizes replay of an application operation. No host, URL, key ID, exception, bytes, or peer text is retained.

Summary

Types

reason()

@type reason() ::
  :cache_overloaded
  | :source_unavailable
  | :revoked_key
  | :unknown_key
  | :directory_signature_invalid
  | :directory_unsigned
  | :ambiguous_key_source
  | :client_id_mismatch
  | :invalid_key_set
  | :invalid_response
  | :limit
  | :unexpected_media_type
  | :unexpected_status
  | :redirect_limit
  | :redirect_denied
  | :deadline_exceeded
  | :tls_failed
  | :connect_failed
  | :address_denied
  | :resolution_failed
  | :transport_unavailable
  | :invalid_options
  | :invalid_source

t()

@type t() :: %RequestSeal.Discovery.Error{reason: reason(), retryable: boolean()}