diff --git a/pkg/utils/utils.go b/pkg/utils/utils.go index 4e053a45..00ca97e6 100644 --- a/pkg/utils/utils.go +++ b/pkg/utils/utils.go @@ -171,6 +171,10 @@ func IsURL(str string) bool { return strings.HasPrefix(str, "http://") || strings.HasPrefix(str, "https://") } +func isHttp2xxSuccessful(status int) bool { + return status >= 200 && status < 300 +} + func DownloadUrl(ctx context.Context, httpClient *http.Client, url string, localPath string) error { resp, err := ctxhttp.Get(ctx, httpClient, url) if err != nil { @@ -178,6 +182,10 @@ func DownloadUrl(ctx context.Context, httpClient *http.Client, url string, local } defer resp.Body.Close() + if !isHttp2xxSuccessful(resp.StatusCode) { + return errors.New(resp.Status) + } + w, err := os.Create(localPath) if err != nil { return err