all: use httpcli.DefaultExternalClient instead of http.DefaultClient
Created by: keegancsmith
This commit audited all our direct uses of http.Client and replaced them with httpcli.DefaultExternalClient if they communicated with external services (ie outside of cluster / docker container services). Additionally we also audited uses of ctxhttp since passing in nil uses http.DefaultClient.
This can still miss some uses. In particular it will miss uses of http.DefaultClient inside of dependencies. There are some likely sources of this already, but this will get us most of the way there. We can follow-up with these issues as they come up / with testing in the cycle.
Potential http.DefaultClient:
- openidconnect auth doesn't take in a client, it looks like it relies on the client created by oauth2. This is a general oauth2 problem due to the encouragement of using a custom Transport.
- AWS CodeCommit.
Note: We introduce httpcli.Client to simplify the call sites which currently use ctxhttp or http.DefaultClient.
Part of #71 Part of #4652