-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
featureA new featureA new feature
Description
A base class used for making HTTP requests.
Will need setting user agent. User agent will be set by lib users, not the lib itself. A user agent is required by modrinth.
Will need way to seamlessly retry failed requests. By rule of thumb, everything with Retry-After
should be retried after that time. Rate limit errors (429) also use these headers:
RateLimit-Reset
X-RateLimit-Reset
Need to track number of attempts so we don't retry forever. So e.g. if a request will take over 30s in total (i.e. current time spent retrying + next retry time is over 30s) should stop retrying and exit with error.
Any other HTTP errors should just throw right away.
Just for reference, this was my TS code: https://github.com/modpm/lib-ts/blob/main/src/HTTPClient.ts
Metadata
Metadata
Assignees
Labels
featureA new featureA new feature