View Source ExPipedrive.Middleware.Retry (ex_pipedrive v0.1.0)

Retries retriable Pipedrive HTTP failures with backoff.

Retries:

  • HTTP 429 (rate limited)
  • HTTP 502 / 503 / 504
  • Tesla transport errors ({:error, reason})

For 429 responses, prefers Retry-After (then x-ratelimit-reset) from ExPipedrive.RateLimit. Otherwise uses exponential backoff with jitter (same shape as Tesla.Middleware.Retry).

Options

  • :delay — base delay in ms (default 100)
  • :max_retries — retries after the first attempt (default 3)
  • :max_delay — cap for computed delay in ms (default 5_000)
  • :jitter_factor0.0..1.0 (default 0.2)
  • :sleepfn ms -> :ok end (default :timer.sleep/1; override in tests)