Our X-RateLimit-Reset headers are bad and we should feel bad
-
I've found at least four different formats used on the Fediverse for the X-RateLimit-Reset header:
- A datestamp (Mastodon)
- Unix epoch in seconds
- Time offset in seconds (N seconds from now)
- Unix epoch in milliseconds (Holos)
It's possible to use some heuristics for these (looks like a date, looks like an integer, range of the integer), which are pretty reliable.
The new RateLimit headers from IETF are very nice, but don't seem to be well-supported yet.
-
Of course, you can just bang on the API until you get 429 restricted, too.
-
undefined evan@cosocial.ca ha condiviso questa discussione su
-
@evan I have a Python function I've built up over time for handling rate limiting headers (no canonical location for it; I just copy it around when needed). I've come across epoch (GitHub) and ISO 8601 (Mastodon, Jira). I'll take a look at the RateLimit spec, thanks.
https://forge.colobox.com/rfinnie/rf-tools/src/branch/main/bin/mastodon-downloader#L50
(For the last few weeks I've been working on moving stuff to Forgejo, and I'm surprised their API doesn't have rate limit headers.)
-
@evan 429? Amateur hour.
You need to keep banging on the API until the server is overwhelmed and times out. That's the 2026 way.
Ciao! Sembra che tu sia interessato a questa conversazione, ma non hai ancora un account.
Stanco di dover scorrere gli stessi post a ogni visita? Quando registri un account, tornerai sempre esattamente dove eri rimasto e potrai scegliere di essere avvisato delle nuove risposte (tramite email o notifica push). Potrai anche salvare segnalibri e votare i post per mostrare il tuo apprezzamento agli altri membri della comunità.
Con il tuo contributo, questo post potrebbe essere ancora migliore 💗
Registrati Accedi