From c627d21cf7d75a590676ddfc9c0377f01cb9d901 Mon Sep 17 00:00:00 2001 From: Anjan Nath Date: Fri, 2 Jun 2023 14:44:22 +0530 Subject: [PATCH] version: use inmemory.Download to fetch release-info.json --- pkg/crc/version/version.go | 25 ++++++++----------------- 1 file changed, 8 insertions(+), 17 deletions(-) diff --git a/pkg/crc/version/version.go b/pkg/crc/version/version.go index d03b16c210..8ca7ba8b0d 100644 --- a/pkg/crc/version/version.go +++ b/pkg/crc/version/version.go @@ -7,11 +7,11 @@ import ( "net/http" "os" "path/filepath" - "time" "github.com/Masterminds/semver/v3" "github.com/crc-org/crc/pkg/crc/logging" crcPreset "github.com/crc-org/crc/pkg/crc/preset" + "github.com/crc-org/crc/pkg/download/inmemory" ) // The following variables are private fields and should be set when compiling with ldflags, for example --ldflags="-X github.com/crc-org/crc/pkg/version.crcVersion=vX.Y.Z @@ -111,26 +111,13 @@ func InstallPath() string { } func GetCRCLatestVersionFromMirror(transport http.RoundTripper) (*CrcReleaseInfo, error) { - client := &http.Client{ - Timeout: 5 * time.Second, - Transport: transport, - } - req, err := http.NewRequest(http.MethodGet, releaseInfoLink, nil) - if err != nil { - return nil, err - } - req.Header.Set("User-Agent", fmt.Sprintf("crc/%s", crcVersion)) - response, err := client.Do(req) + response, err := inmemory.Download(releaseInfoLink, UserAgent(), transport) if err != nil { return nil, err } - defer response.Body.Close() + defer response.Close() - if response.StatusCode != 200 { - return nil, fmt.Errorf("HTTP error: %s: %d", response.Status, response.StatusCode) - } - - releaseMetaData, err := io.ReadAll(response.Body) + releaseMetaData, err := io.ReadAll(response) if err != nil { return nil, err } @@ -151,3 +138,7 @@ func GetDefaultPreset() crcPreset.Preset { } return preset } + +func UserAgent() string { + return fmt.Sprintf("crc/%s", crcVersion) +}