Add HTTP rate limiting detection and handling #23
Labels
No labels
breaking-change
bug
documentation
duplicate
enhancement
good first issue
help wanted
performance
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
Grandiras/ATProto.NET#23
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
ATProto.NET doesn't implement HTTP rate limiting detection and handling. The AT Protocol spec implies rate limiting by services, and proper handling is critical for production applications, especially when doing backfill operations or high-volume API calls.
What's needed
RateLimit-Limit- Max requests per windowRateLimit-Remaining- Remaining requestsRateLimit-Reset- Time until reset (Unix timestamp)Retry-After- Seconds to wait before retryRetry-AfterheaderContext
From the AT Protocol backfill guide:
The firehose consumer already has reconnection backoff, but HTTP API calls have no rate limit awareness.
Implemented in commit
f8d7141. Added RateLimitInfo model and automatic retry on HTTP 429 with Retry-After/RateLimit-Reset support and exponential backoff. Configurable via MaxRateLimitRetries.