set shorter upstream request timeout on [endpoint] and [dynamic] badges #10996
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.
We have a number of endpoints that allow the user to supply a URL to call.
We do impose a hard limit on the size of payload that a user can force us to download and parse, but beyond the global request timeout there's no limit on how long a user can force us to hold a connection open for.
On these endpoints where the user can give us an arbitrary URL to call, I propose we put a shorter timeout on how long we are prepared to wait for the upstream request. 3.5 seconds is still quite a long time if we are getting a flood of requests like that, but I feel like in the situation where the user supplies the URL we should be more pessimistic than when we are calling a known reputable host.