avformat/http: Add support for Retry-After header
commit2d5fa816fb94563de6ee8585430dcc9bfa4455da
authorDerek Buitenhuis <derek.buitenhuis@gmail.com>
Mon, 22 Apr 2024 14:25:42 +0000 (22 15:25 +0100)
committerDerek Buitenhuis <derek.buitenhuis@gmail.com>
Thu, 25 Apr 2024 14:21:25 +0000 (25 15:21 +0100)
tree05d2e45af794a58683f2ee1db1b4184852d588fc
parent6d89fd4c27b2c907acaf44f923e624a24643a2ba
avformat/http: Add support for Retry-After header

429 and 503 codes can, and often do (e.g. all Google Cloud
Storage URLs can), return a Retry-After header with the error,
indicating how long to wait, asd either a date, or in seconds,
before retrying again. If it is not respected by, for example,
using our default backoff stratetgy instead, chances of success
are very unlikely.

Some references:
    * https://datatracker.ietf.org/doc/html/rfc6585
    * https://datatracker.ietf.org/doc/html/rfc7231#section-7.1.3

This adds an AVOption to respect that header.

Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
doc/protocols.texi
libavformat/http.c
libavformat/version.h