use proxy from environment

[#117482787]

Signed-off-by: Evan Short <eshort@pivotal.io>
This commit is contained in:
Jacob Frank
2016-04-12 15:20:46 -07:00
committed by Evan Short
parent 9d1fe815f0
commit 64e36f5d40

View File

@@ -42,7 +42,9 @@ func NewGitHubClient(source Source) (*GitHubClient, error) {
var client *github.Client var client *github.Client
if source.AccessToken == "" { if source.AccessToken == "" {
client = github.NewClient(nil) proxyTransport := &http.Transport{Proxy: http.ProxyFromEnvironment}
httpClient := &http.Client{Transport: proxyTransport}
client = github.NewClient(httpClient)
} else { } else {
var err error var err error
client, err = oauthClient(source) client, err = oauthClient(source)
@@ -194,12 +196,12 @@ func (g *GitHubClient) DeleteReleaseAsset(asset github.ReleaseAsset) error {
} }
func (g *GitHubClient) DownloadReleaseAsset(asset github.ReleaseAsset) (io.ReadCloser, error) { func (g *GitHubClient) DownloadReleaseAsset(asset github.ReleaseAsset) (io.ReadCloser, error) {
res, err := g.client.Repositories.DownloadReleaseAsset(g.user, g.repository, *asset.ID) reader, _, err := g.client.Repositories.DownloadReleaseAsset(g.user, g.repository, *asset.ID)
if err != nil { if err != nil {
return nil, err return nil, err
} }
return res, err return reader, err
} }
func (g *GitHubClient) GetTarballLink(tag string) (*url.URL, error) { func (g *GitHubClient) GetTarballLink(tag string) (*url.URL, error) {
@@ -252,7 +254,7 @@ func oauthClient(source Source) (*github.Client, error) {
// requests to both github.com and the S3 download API (for downloading // requests to both github.com and the S3 download API (for downloading
// release assets). We don't want it to user the same OAuth transport for // release assets). We don't want it to user the same OAuth transport for
// both. // both.
transport := statham.NewTransport(http.DefaultTransport, statham.Mapping{ transport := statham.NewTransport(&http.Transport{Proxy: http.ProxyFromEnvironment}, statham.Mapping{
apiHost: oauthClient.Transport, apiHost: oauthClient.Transport,
uploadHost: oauthClient.Transport, uploadHost: oauthClient.Transport,
}) })