BexioApiClient.Req.RewriteDelay (bexio_api_client v1.0.0)
This module implements the BexioApiClient.Req.RetryPolicy behaviour: it
handles the normal Bexio API rate limit headers as well as the (observed)
regular exceptions to retry. With status code 429 we try to read the header
"ratelimit-reset" and send back the {:delay, delay} tuple. In case of 408,
500, 502, 503, 504 we fall back to the retry mechanism.
telemetry-events
Telemetry Events
This module emits the following telemetry events:
[:bexio_api_client, :rate_limit, :hit]- Emitted when a 429 rate limit response is received. Measurements:%{reset_seconds: integer()}Metadata:%{has_reset_header: boolean()}[:bexio_api_client, :request, :retry]- Emitted when a request will be retried due to server errors. Measurements:%{count: 1}Metadata:%{status: integer()}[:bexio_api_client, :request, :success]- Emitted when a request completes successfully (status 200-399). Measurements:%{count: 1}Metadata:%{status: integer()}[:bexio_api_client, :request, :error]- Emitted when a request completes with an error (status 400+). Measurements:%{count: 1}Metadata:%{status: integer()}