github API breach of HTTP protocol on 429 results

I reported the problem to github support more than 3 weeks ago and got no response at all, so maybe is time to try other channels.


InvalidHeader: Invalid Retry-After header: 1m0s with github.com

HTTP spec mentions clearly that the value must be numeric value in seconds. Someone got an extra mile and decided to breach the HTTP spec and return a “humanized” value “1m0s” instead of just 60.

Obviously that this breaks any library trying to implement the protocol and I was not surprised that urllib3 maintainers refused to implement a workaround for this. Even if this may prove inconvenient for me, I do fully understand why they did it.

The only way to fix this is to fix github API, likely this feature is implemented by its reverse-proxy.

The problem was initially raised on https://github.com/urllib3/urllib3/issues/1822

Can we at least get an acknowledgement that the bug was confirmed and that you are going to release a fix for it?

1 Like

from https://tools.ietf.org/html/rfc7231#section-7.1.3

The value of this field can be either an HTTP-date or a number of
   seconds to delay after the response is received.

     Retry-After = HTTP-date / delay-seconds

   A delay-seconds value is a non-negative decimal integer, representing
   time in seconds.

     delay-seconds = 1*DIGIT

I encountered this issue as well when running urllib3 retry requests.

See https://github.com/urllib3/urllib3/issues/1822 for reference.