# retries pydantic_v2.BaseModel
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  default succeeds = (SafeGetResponse(root='server payload'), 2)
    statuses=[503, 200] unused=0
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  default exhausted = ('InternalServerError', 3, b'server payload', SafeGetResponse(root='server payload'), None, False, 503)
    statuses=[503, 503, 503] unused=0
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  excluded before disabled = ('NotFoundError', 1, b'server payload', SafeGetResponse(root='server payload'), None, False, 404)
    statuses=[404] unused=0
  > GET https://api.example.com/never
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  never before disabled = ('InternalServerError', 1, b'server payload', NeverGetResponse(root='server payload'), None, False, 503)
    statuses=[503] unused=0
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  disabled = ('InternalServerError', 1, b'server payload', SafeGetResponse(root='server payload'), None, False, 503)
    statuses=[503] unused=0
  > POST https://api.example.com/unsafe
    [host: api.example.com, content-length: 0, accept-encoding: gzip, deflate, accept: text/plain] b''
  unsafe = ('InternalServerError', 1, b'server payload', UnsafePostResponse(root='server payload'), None, False, 503)
    statuses=[503] unused=0
  > POST https://api.example.com/idempotent
    [host: api.example.com, content-length: 0, accept-encoding: gzip, deflate, accept: text/plain] b''
  > POST https://api.example.com/idempotent
    [host: api.example.com, content-length: 0, accept-encoding: gzip, deflate, accept: text/plain] b''
  declared idempotent = (IdempotentPostResponse(root='server payload'), 2)
    statuses=[503, 200] unused=0
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  explicit statuses replace = ('InternalServerError', 1, b'server payload', SafeGetResponse(root='server payload'), None, False, 503)
    statuses=[503] unused=0
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  explicit conflict status = (SafeGetResponse(root='server payload'), 2)
    statuses=[409, 200] unused=0
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  true adds404 = (VendorGetResponse(root='server payload'), 2)
    unused=0
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  ASCII whitespace = (VendorGetResponse(root='server payload'), 2)
    unused=0
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  false wins = ('InternalServerError', 1, b'server payload', VendorGetResponse(root='server payload'), None, False, 503)
    unused=1
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  false before disabled = ('InternalServerError', 1, b'server payload', VendorGetResponse(root='server payload'), None, False, 503)
    unused=1
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  excluded before false = ('NotFoundError', 1, b'server payload', VendorGetResponse(root='server payload'), None, False, 404)
    unused=1
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  invalid hint = ('NotFoundError', 1, b'server payload', VendorGetResponse(root='server payload'), None, False, 404)
    unused=1
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  false then true = ('InternalServerError', 1, b'server payload', VendorGetResponse(root='server payload'), None, False, 503)
    unused=1
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  true ignores200 = (VendorGetResponse(root='server payload'), 1)
    unused=1
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  true ignores302 = ('APIStatusError', 1, b'server payload', b'server payload', None, False, 302)
    unused=1
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  true ignores401 = ('AuthenticationError', 1, b'server payload', VendorGetResponse(root='server payload'), None, False, 401)
    unused=1
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  true ignores403 = ('PermissionDeniedError', 1, b'server payload', VendorGetResponse(root='server payload'), None, False, 403)
    unused=1
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  true ignores407 = ('APIStatusError', 1, b'server payload', VendorGetResponse(root='server payload'), None, False, 407)
    unused=1
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  hint explicitly disabled = ('NotFoundError', 1, b'server payload', VendorGetResponse(root='server payload'), None, False, 404)
    unused=1
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  hint case-insensitive binding = (VendorGetResponse(root='server payload'), 2)
    unused=0
  binding get_safe retry_after_ms_header = ('ConfigurationError', 0, None, None, ('retry', 'retry_after_ms_header'), None, None)
  binding get_vendor retry_after_ms_header = ('ConfigurationError', 0, None, None, ('retry', 'retry_after_ms_header'), None, None)
  binding get_safe should_retry_header = ('ConfigurationError', 0, None, None, ('retry', 'should_retry_header'), None, None)
  binding get_vendor should_retry_header = ('ConfigurationError', 0, None, None, ('retry', 'should_retry_header'), None, None)
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  delay zero = (SafeGetResponse(root='server payload'), 2)
    unused=0
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  delay positive = ('InternalServerError', 1, b'server payload', SafeGetResponse(root='server payload'), None, False, 503)
    unused=1
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  delay duplicates maximum = ('InternalServerError', 1, b'server payload', SafeGetResponse(root='server payload'), None, False, 503)
    unused=1
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  delay HTTP date = ('InternalServerError', 1, b'server payload', SafeGetResponse(root='server payload'), None, False, 503)
    unused=1
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  delay past HTTP date = (SafeGetResponse(root='server payload'), 2)
    unused=0
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  delay obsolete asctime = (SafeGetResponse(root='server payload'), 2)
    unused=0
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  delay obsolete RFC850 = (SafeGetResponse(root='server payload'), 2)
    unused=0
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  delay RFC850 future window = ('InternalServerError', 1, b'server payload', SafeGetResponse(root='server payload'), None, False, 503)
    unused=1
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  delay RFC850 window boundary = ('InternalServerError', 1, b'server payload', SafeGetResponse(root='server payload'), None, False, 503)
    unused=1
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  delay RFC850 past the window = (SafeGetResponse(root='server payload'), 2)
    unused=0
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  delay unknown date timezone = ('InternalServerError', 1, b'server payload', SafeGetResponse(root='server payload'), None, False, 503)
    unused=1
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  delay unknown local timezone = ('InternalServerError', 1, b'server payload', SafeGetResponse(root='server payload'), None, False, 503)
    unused=1
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  delay offset timezone = ('InternalServerError', 1, b'server payload', SafeGetResponse(root='server payload'), None, False, 503)
    unused=1
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  delay date trailing junk = ('InternalServerError', 1, b'server payload', SafeGetResponse(root='server payload'), None, False, 503)
    unused=1
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  delay date wrong case = ('InternalServerError', 1, b'server payload', SafeGetResponse(root='server payload'), None, False, 503)
    unused=1
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  delay leap second = (SafeGetResponse(root='server payload'), 2)
    unused=0
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  delay invalid second = (SafeGetResponse(root='server payload'), 2)
    unused=0
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  delay fraction = (SafeGetResponse(root='server payload'), 2)
    unused=0
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  delay negative = (SafeGetResponse(root='server payload'), 2)
    unused=0
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  delay positive sign = (SafeGetResponse(root='server payload'), 2)
    unused=0
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  delay exponent = (SafeGetResponse(root='server payload'), 2)
    unused=0
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  delay nan = (SafeGetResponse(root='server payload'), 2)
    unused=0
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  delay infinity = (SafeGetResponse(root='server payload'), 2)
    unused=0
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  delay overflow = (SafeGetResponse(root='server payload'), 2)
    unused=0
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  delay invalid date = (SafeGetResponse(root='server payload'), 2)
    unused=0
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  delay RFC850 next century at the last second of 2099 = ('InternalServerError', 1, b'server payload', SafeGetResponse(root='server payload'), None, False, 503)
    unused=1
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  delay RFC850 next century from 2060 = ('InternalServerError', 1, b'server payload', SafeGetResponse(root='server payload'), None, False, 503)
    unused=1
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  vendor maximum = ('InternalServerError', 1, b'server payload', VendorGetResponse(root='server payload'), None, False, 503)
    unused=1
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  vendor zero overrides = (VendorGetResponse(root='server payload'), 2)
    unused=0
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  vendor invalid falls back = ('InternalServerError', 1, b'server payload', VendorGetResponse(root='server payload'), None, False, 503)
    unused=1
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  vendor empty falls back = ('InternalServerError', 1, b'server payload', VendorGetResponse(root='server payload'), None, False, 503)
    unused=1
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  vendor case binding = (VendorGetResponse(root='server payload'), 2)
    unused=0
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  server timing disabled = (VendorGetResponse(root='server payload'), 2)
    unused=0
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  vendor disabled = (VendorGetResponse(root='server payload'), 2)
    unused=0
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  server exceeds deadline = ('InternalServerError', 1, b'server payload', SafeGetResponse(root='server payload'), None, False, 503)
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  backoff exceeds deadline = ('InternalServerError', 1, b'server payload', SafeGetResponse(root='server payload'), None, False, 503)
  > POST https://api.example.com/keyed
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain, content-type: application/octet-stream, idempotency-key: stable-key, content-length: 7] b'payload'
  > POST https://api.example.com/keyed
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain, content-type: application/octet-stream, idempotency-key: stable-key, content-length: 7] b'payload'
  caller key = (KeyedPostResponse(root='server payload'), 2)
    unused=0
  > POST https://api.example.com/key-only
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain, content-type: application/octet-stream, idempotency-key: header-only, content-length: 7] b'payload'
  > POST https://api.example.com/key-only
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain, content-type: application/octet-stream, idempotency-key: header-only, content-length: 7] b'payload'
  header-only declaration = (KeyOnlyPostResponse(root='server payload'), 2)
    unused=0
  > POST https://api.example.com/keyed
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain, content-type: application/octet-stream, content-length: 7] b'payload'
  key suppressed = ('InternalServerError', 1, b'server payload', KeyedPostResponse(root='server payload'), None, False, 503)
    unused=1
  undeclared key = ('ConfigurationError', 0, None, None, ('idempotency_key',), None, None)
    unused=2
  > GET https://api.example.com/keyed-safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain, idempotency-key: safe-key] b''
  > GET https://api.example.com/keyed-safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain, idempotency-key: safe-key] b''
  safe method caller key = (KeyedSafeGetResponse(root='server payload'), 2)
    unused=0
  > POST https://api.example.com/key-only
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain, content-type: application/octet-stream, idempotency-key: <call>, content-length: 9] b'automatic'
  > POST https://api.example.com/key-only
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain, content-type: application/octet-stream, idempotency-key: <call>, content-length: 9] b'automatic'
  automatic declared key = (None, None)
    uuid4=True canonical=True attempts=2 unused=0
  native ConnectError get_safe = (SafeGetResponse(root='server payload'), 2) unused=0
  native ConnectError post_keyed = (KeyedPostResponse(root='server payload'), 2) unused=0
  native ConnectError post_unsafe = (UnsafePostResponse(root='server payload'), 2) unused=0
  native ConnectError get_never = ('APIConnectionError', None, 1, 'ConnectError') unused=1
  native ConnectTimeout get_safe = (SafeGetResponse(root='server payload'), 2) unused=0
  native ConnectTimeout post_keyed = (KeyedPostResponse(root='server payload'), 2) unused=0
  native ConnectTimeout post_unsafe = (UnsafePostResponse(root='server payload'), 2) unused=0
  native ConnectTimeout get_never = ('APITimeoutError', 'phase_timeout', 1, 'ConnectTimeout') unused=1
  native PoolTimeout get_safe = ('APITimeoutError', 'phase_timeout', 1, 'PoolTimeout') unused=1
  native PoolTimeout post_keyed = ('APITimeoutError', 'phase_timeout', 1, 'PoolTimeout') unused=1
  native PoolTimeout post_unsafe = ('APITimeoutError', 'phase_timeout', 1, 'PoolTimeout') unused=1
  native PoolTimeout get_never = ('APITimeoutError', 'phase_timeout', 1, 'PoolTimeout') unused=1
  native WriteError get_safe = ('APIConnectionError', None, 1, 'WriteError') unused=1
  native WriteError post_keyed = ('APIConnectionError', None, 1, 'WriteError') unused=1
  native WriteError post_unsafe = ('APIConnectionError', None, 1, 'WriteError') unused=1
  native WriteError get_never = ('APIConnectionError', None, 1, 'WriteError') unused=1
  native WriteTimeout get_safe = ('APITimeoutError', 'phase_timeout', 1, 'WriteTimeout') unused=1
  native WriteTimeout post_keyed = ('APITimeoutError', 'phase_timeout', 1, 'WriteTimeout') unused=1
  native WriteTimeout post_unsafe = ('APITimeoutError', 'phase_timeout', 1, 'WriteTimeout') unused=1
  native WriteTimeout get_never = ('APITimeoutError', 'phase_timeout', 1, 'WriteTimeout') unused=1
  native ReadError get_safe = ('APIConnectionError', None, 1, 'ReadError') unused=1
  native ReadError post_keyed = ('APIConnectionError', None, 1, 'ReadError') unused=1
  native ReadError post_unsafe = ('APIConnectionError', None, 1, 'ReadError') unused=1
  native ReadError get_never = ('APIConnectionError', None, 1, 'ReadError') unused=1
  native ReadTimeout get_safe = ('APITimeoutError', 'phase_timeout', 1, 'ReadTimeout') unused=1
  native ReadTimeout post_keyed = ('APITimeoutError', 'phase_timeout', 1, 'ReadTimeout') unused=1
  native ReadTimeout post_unsafe = ('APITimeoutError', 'phase_timeout', 1, 'ReadTimeout') unused=1
  native ReadTimeout get_never = ('APITimeoutError', 'phase_timeout', 1, 'ReadTimeout') unused=1
  native RemoteProtocolError get_safe = ('APIConnectionError', None, 1, 'RemoteProtocolError') unused=1
  native RemoteProtocolError post_keyed = ('APIConnectionError', None, 1, 'RemoteProtocolError') unused=1
  native RemoteProtocolError post_unsafe = ('APIConnectionError', None, 1, 'RemoteProtocolError') unused=1
  native RemoteProtocolError get_never = ('APIConnectionError', None, 1, 'RemoteProtocolError') unused=1
  native PoolTimeout enabled get_safe = (SafeGetResponse(root='server payload'), 2) unused=0
  native PoolTimeout enabled post_keyed = (KeyedPostResponse(root='server payload'), 2) unused=0
  native PoolTimeout enabled post_unsafe = (UnsafePostResponse(root='server payload'), 2) unused=0
  native PoolTimeout enabled get_never = ('APITimeoutError', 'phase_timeout', 1, 'PoolTimeout') unused=1
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  server dropped get_safe = ('APIConnectionError', None, 1, 'RemoteProtocolError')
    unused=1
  > POST https://api.example.com/keyed
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain, content-type: application/octet-stream, idempotency-key: delivery-key, content-length: 7] b'payload'
  server dropped post_keyed = ('APIConnectionError', None, 1, 'RemoteProtocolError')
    unused=1
  body fails mid-send = ('APIConnectionError', None, 1, 'OSError')
    opened=['consumed'] unused=1
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  held pool retry_on_pool_timeout=False = ('APITimeoutError', 'phase_timeout', 1, 'PoolTimeout')
  held pool retry_on_pool_timeout=True = ('APITimeoutError', 'phase_timeout', 2, 'PoolTimeout')
  held response still readable = b'server payload'
  > POST https://api.example.com/unsafe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain, content-type: application/octet-stream, transfer-encoding: chunked] b'onetwo'
  body before unsafe = ('InternalServerError', 1, b'server payload', UnsafePostResponse(root='server payload'), None, False, 503)
  > POST https://api.example.com/idempotent
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain, content-type: application/octet-stream, transfer-encoding: chunked] b'onetwo'
  idempotent still needs body = ('InternalServerError', 1, b'server payload', IdempotentPostResponse(root='server payload'), None, False, 503)
  > POST https://api.example.com/idempotent
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain, content-type: application/octet-stream, transfer-encoding: chunked] b'onetwo'
  disabled before body = ('InternalServerError', 1, b'server payload', IdempotentPostResponse(root='server payload'), None, False, 503)
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  saturated none = (VendorGetResponse(root='server payload'), 5)
    delays=(0.25, 0.5, 0.5, 0.5) expected=(0.25, 0.5, 0.5, 0.5) match=True draws=0/0 unused=0
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  full jitter = (VendorGetResponse(root='server payload'), 3)
    delays=(1.0, 2.0) expected=(1.0, 2.0) match=True draws=2/2 unused=0
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  full lower bound = (VendorGetResponse(root='server payload'), 2)
    delays=() expected=() match=True draws=1/1 unused=0
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  full upper edge = (VendorGetResponse(root='server payload'), 2)
    delays=(1.0,) expected=(1.0,) match=True draws=1/1 unused=0
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  subnormal upper edge = (VendorGetResponse(root='server payload'), 2)
    delays=() expected=() match=True draws=1/1 unused=0
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  zero remains zero = (VendorGetResponse(root='server payload'), 3)
    delays=() expected=() match=True draws=0/0 unused=0
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  server exact cap = (VendorGetResponse(root='server payload'), 2)
    delays=(60.0,) expected=(60.0,) match=True draws=0/0 unused=0
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  server over cap no RNG = ('InternalServerError', 1, b'server payload', VendorGetResponse(root='server payload'), None, False, 503)
    delays=() expected=() match=True draws=0/0 unused=0
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  server unlimited cap = (VendorGetResponse(root='server payload'), 2)
    delays=(61.0,) expected=(61.0,) match=True draws=0/0 unused=0
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  server deadline equality no RNG = ('InternalServerError', 1, b'server payload', VendorGetResponse(root='server payload'), None, False, 503)
    delays=() expected=() match=True draws=0/0 unused=0
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  backoff deadline equality = ('InternalServerError', 1, b'server payload', VendorGetResponse(root='server payload'), None, False, 503)
    delays=() expected=() match=True draws=0/0 unused=0
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  jitter deadline rejection = ('InternalServerError', 1, b'server payload', VendorGetResponse(root='server payload'), None, False, 503)
    delays=() expected=() match=True draws=1/1 unused=0
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  success no RNG = (VendorGetResponse(root='server payload'), 1)
    delays=() expected=() match=True draws=0/0 unused=0
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  excluded status no RNG = ('NotFoundError', 1, b'server payload', VendorGetResponse(root='server payload'), None, False, 404)
    delays=() expected=() match=True draws=0/0 unused=0
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  server forbids no RNG = ('InternalServerError', 1, b'server payload', VendorGetResponse(root='server payload'), None, False, 503)
    delays=() expected=() match=True draws=0/0 unused=0
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  receipt target survives response close = (VendorGetResponse(root='server payload'), 2)
    delays=(0.5,) expected=(0.5,) match=True
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  chosen target survives response close = (VendorGetResponse(root='server payload'), 2)
    delays=(0.25,) expected=(0.25,) match=True
  > GET https://api.example.com/vendor
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  original server cap survives headers hook = ('InternalServerError', 1, b'server payload', VendorGetResponse(root='server payload'), None, False, 503)
    delays=() expected=() match=True
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  retries on a frozen clock = Response(SafeGetResponse(root='server payload'), 200, 'text/plain', None, [('content-type', 'text/plain'), ('content-length', '14')])
    attempts=3
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  async retry = Response(SafeGetResponse(root='server payload'), 200, 'text/plain', None, [('content-type', 'text/plain'), ('content-length', '14')])
    counts=(2, None) statuses=[503, 200]
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  async retries on a frozen clock = Response(SafeGetResponse(root='server payload'), 200, 'text/plain', None, [('content-type', 'text/plain'), ('content-length', '14')])
    attempts=3
  > POST https://api.example.com/key-only
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain, content-type: application/octet-stream, idempotency-key: <call>, content-length: 9] b'automatic'
  > POST https://api.example.com/key-only
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain, content-type: application/octet-stream, idempotency-key: <call>, content-length: 9] b'automatic'
  async automatic declared key = None
    uuid4=True canonical=True attempts=2 unused=0
  async native ConnectError get_safe = (SafeGetResponse(root='server payload'), 2) unused=0
  async native ConnectError post_keyed = (KeyedPostResponse(root='server payload'), 2) unused=0
  async native ConnectError post_unsafe = (UnsafePostResponse(root='server payload'), 2) unused=0
  async native ConnectError get_never = ('APIConnectionError', None, 1, 'ConnectError') unused=1
  async native ConnectTimeout get_safe = (SafeGetResponse(root='server payload'), 2) unused=0
  async native ConnectTimeout post_keyed = (KeyedPostResponse(root='server payload'), 2) unused=0
  async native ConnectTimeout post_unsafe = (UnsafePostResponse(root='server payload'), 2) unused=0
  async native ConnectTimeout get_never = ('APITimeoutError', 'phase_timeout', 1, 'ConnectTimeout') unused=1
  async native PoolTimeout get_safe = ('APITimeoutError', 'phase_timeout', 1, 'PoolTimeout') unused=1
  async native PoolTimeout post_keyed = ('APITimeoutError', 'phase_timeout', 1, 'PoolTimeout') unused=1
  async native PoolTimeout post_unsafe = ('APITimeoutError', 'phase_timeout', 1, 'PoolTimeout') unused=1
  async native PoolTimeout get_never = ('APITimeoutError', 'phase_timeout', 1, 'PoolTimeout') unused=1
  async native WriteError get_safe = ('APIConnectionError', None, 1, 'WriteError') unused=1
  async native WriteError post_keyed = ('APIConnectionError', None, 1, 'WriteError') unused=1
  async native WriteError post_unsafe = ('APIConnectionError', None, 1, 'WriteError') unused=1
  async native WriteError get_never = ('APIConnectionError', None, 1, 'WriteError') unused=1
  async native WriteTimeout get_safe = ('APITimeoutError', 'phase_timeout', 1, 'WriteTimeout') unused=1
  async native WriteTimeout post_keyed = ('APITimeoutError', 'phase_timeout', 1, 'WriteTimeout') unused=1
  async native WriteTimeout post_unsafe = ('APITimeoutError', 'phase_timeout', 1, 'WriteTimeout') unused=1
  async native WriteTimeout get_never = ('APITimeoutError', 'phase_timeout', 1, 'WriteTimeout') unused=1
  async native ReadError get_safe = ('APIConnectionError', None, 1, 'ReadError') unused=1
  async native ReadError post_keyed = ('APIConnectionError', None, 1, 'ReadError') unused=1
  async native ReadError post_unsafe = ('APIConnectionError', None, 1, 'ReadError') unused=1
  async native ReadError get_never = ('APIConnectionError', None, 1, 'ReadError') unused=1
  async native ReadTimeout get_safe = ('APITimeoutError', 'phase_timeout', 1, 'ReadTimeout') unused=1
  async native ReadTimeout post_keyed = ('APITimeoutError', 'phase_timeout', 1, 'ReadTimeout') unused=1
  async native ReadTimeout post_unsafe = ('APITimeoutError', 'phase_timeout', 1, 'ReadTimeout') unused=1
  async native ReadTimeout get_never = ('APITimeoutError', 'phase_timeout', 1, 'ReadTimeout') unused=1
  async native RemoteProtocolError get_safe = ('APIConnectionError', None, 1, 'RemoteProtocolError') unused=1
  async native RemoteProtocolError post_keyed = ('APIConnectionError', None, 1, 'RemoteProtocolError') unused=1
  async native RemoteProtocolError post_unsafe = ('APIConnectionError', None, 1, 'RemoteProtocolError') unused=1
  async native RemoteProtocolError get_never = ('APIConnectionError', None, 1, 'RemoteProtocolError') unused=1
  async native PoolTimeout enabled get_safe = (SafeGetResponse(root='server payload'), 2) unused=0
  async native PoolTimeout enabled post_keyed = (KeyedPostResponse(root='server payload'), 2) unused=0
  async native PoolTimeout enabled post_unsafe = (UnsafePostResponse(root='server payload'), 2) unused=0
  async native PoolTimeout enabled get_never = ('APITimeoutError', 'phase_timeout', 1, 'PoolTimeout') unused=1
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  async server dropped get_safe = ('APIConnectionError', None, 1, 'RemoteProtocolError')
    unused=1
  > POST https://api.example.com/keyed
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain, content-type: application/octet-stream, idempotency-key: delivery-key, content-length: 7] b'payload'
  async server dropped post_keyed = ('APIConnectionError', None, 1, 'RemoteProtocolError')
    unused=1
  async body fails mid-send = ('APIConnectionError', None, 1, 'OSError')
    opened=['consumed'] unused=1
  > GET https://api.example.com/safe
    [host: api.example.com, accept-encoding: gzip, deflate, accept: text/plain] b''
  async held pool retry_on_pool_timeout=False = ('APITimeoutError', 'phase_timeout', 1, 'PoolTimeout')
  async held pool retry_on_pool_timeout=True = ('APITimeoutError', 'phase_timeout', 2, 'PoolTimeout')
  async held response still readable = b'server payload'
