fix(install): retry downloads of registry info / tarballs #26278
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #26085.
Adds a basic retry utility with some defaults, starts off with a 1ms wait, then 10x for each successive attempt, up to a max of 1 second and 5 attempts.
I've applied the retry in the http client, reusing an existing function, so this also applies to retrying downloads of deno binaries in
upgrade
andcompile
. I can make a separate function that doesn't retry so this doesn't affectupgrade
andcompile
, but it seemed desirable to have retries there too, so I left it in.