tree c08b4a7fc1efd21d88b311d40f509960672a8778
parent 5527068c31a3b92beb8f9bfe0953ff9580b3dc86
author Nehal Patel <nehalvpatel@users.noreply.github.com> 1668013656 -0800
committer GitHub <noreply@github.com> 1668013656 +0100
gpgsig -----BEGIN PGP SIGNATURE-----
 
 wsBcBAABCAAQBQJja95YCRBK7hj4Ov3rIwAAZ8gIAIHl4BFgqFqioGbZBEb53Jd6
 BYimHhgb/aurkMhZZ9o0eDgApIE8FFnk1ILK/KLBFq2hDkatBy8GEbfGZjWfsp+m
 pEvOkQjWeAqTQKaWzRfqFJJb9HuDjVswMAXrEUkzWkcqYNLXC+oK6TxaWXl3Jq8t
 v40lTHJMpjMaPenlBVaqcfza9uUj7A/QyZQReBHSCm/jHQsvC6V7xompYmA9xM3T
 oc2RRx5QJhG8Rb5B7eLjHEeUE7tGXdyfFh6lMcasrJexx9XwhI9XtbqLHf5Fjqzh
 OsoWFkUv+VV8eg7ZmaTr0zRPbedN1iqZGvoEP6pK5cF4dllYD75fdacELIIKGJQ=
 =clR5
 -----END PGP SIGNATURE-----
 

Refactor HTTP retries (#3325) (#3590)

* Break out networking related OS error codes

* Add mapException feature to retry util

* Add WIP sendWithRetries method

* Fix potential runtime null response in onRetry option

* Remove code to get CI working

* Apply suggestions from code review

Co-authored-by: Jonas Finnemann Jensen <jopsen@gmail.com>

* Update Pub HTTP exceptions

* Remove stack trace from retry methods

* Remove hard-coded domain check for HTTP 500

* Simplify method

* Align retry behavior with requirements

* Move withAuthenticatedClient a layer up and clarify comment

* Clarify usage of global HTTP client

* Take request metadata out of _PubHttpClient

* Use RetryClient for OAuth2 calls

* Retrigger checks

* Wrap versions HTTP call with retryForHttp

* Add more comments

* Use "throwIfNotOk" in versions HTTP call

* Change PackageIntegrityException to always subclass as an intermittent PubHttpException

* Configure OAuth2 HTTP retries

* Make metadata headers method an extension on http.Request and use .throwIfNotOk() in more places

* Add retries to OIDC discovery document request

* Add some retries to upload command

* Add retries to upload package step

* Fix indentation

* Make PubHttpResponseException use BaseResponse

* Fix get_test

* Fix more tests

* Fix SHA-256 tests

* Only send pub.dev API Accept header when necessary and fix tests

Co-authored-by: Jonas Finnemann Jensen <jopsen@gmail.com>