firebase / firebase/firebase-admin-go
No way to respect RetryAfter for retryable errors
- Dominant language
- Go
- Stars
- 1.3k
- Forks
- 274
- Avg merge
- 10h 39m
- Merged PRs (30d)
- 2
Description
### Describe your environment
* Operating System version: Ubuntu latest
* Firebase SDK version: v4.13.0
* Library version: v4.13.0
* Firebase Product: messaging
### Describe the problem
Some messaging errors are retryable, for instance errors for which `messaging.IsQuotaExceeded(err)` returns true. The FCM API requests that the Retry-After response header is respected in retrying these. The Firebase SDK reads the RetryAfter header and respects it when retrying internally, however it does not expose this value to callers, leaving them unable to respect this retry-after.
#### Steps to reproduce:
* As an integrator of `"firebase.google.com/go/v4/messaging"`, send many messages in a loop until you receive a quota exceeded error
* Attempt to retry the quota exceeded error at an appropriate time - this information is not exposed by the Firebase SDK despite coming from the Firebase API
Contributor guide
Assessment
This issue has not been assessed yet.