We are using BackoffHandler https://github.com/googleapis/google-api-dotnet-client/blob/55e00d18f4024a44f7007a3dbfaf6fcba4ed67f5/Src/Support/Google.Apis.Core/Http/BackOffHandler.cs#L31 to retry the errors like ratelimitExceeded / userRateLimitExceeded.
But by default, it computes time to wait using exponential backoff logic. Google API sometimes gives the retryAfter value in case of 429 http status codes.
Ex. The service gmail has thrown an exception. HttpStatusCode is 429. User-rate limit exceeded. Retry after 2024-01-10T23:55:00.392Z
Is it possible to honor this Retryafter value in backOffHandler ?
Else we need to have multiple UnsuccessfulResponse handlers -
1. Default BackoffHandler for 429 or other codes without retryAfter
2. RetryAfterHandler - custom implementation to honor retry value to wait.
Please confirm if this enhancement can be possible from library side.
We are using BackoffHandler
https://github.com/googleapis/google-api-dotnet-client/blob/55e00d18f4024a44f7007a3dbfaf6fcba4ed67f5/Src/Support/Google.Apis.Core/Http/BackOffHandler.cs#L31to retry the errors like ratelimitExceeded / userRateLimitExceeded.But by default, it computes time to wait using exponential backoff logic. Google API sometimes gives the retryAfter value in case of 429 http status codes.
Ex. The service gmail has thrown an exception. HttpStatusCode is 429. User-rate limit exceeded. Retry after 2024-01-10T23:55:00.392Z
Is it possible to honor this Retryafter value in backOffHandler ?
Else we need to have multiple UnsuccessfulResponse handlers -
1. Default BackoffHandler for 429 or other codes without retryAfter
2. RetryAfterHandler - custom implementation to honor retry value to wait.
Please confirm if this enhancement can be possible from library side.