From 8f641721a23cef30be012eb74cb67b4dbf268ae5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E5=90=AF=E8=88=AA?= <101104760+ZhangSetSail@users.noreply.github.com> Date: Thu, 21 Nov 2024 20:09:30 +0800 Subject: [PATCH] fix: newFromTransport check scheme failure MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: 张启航 <101104760+ZhangSetSail@users.noreply.github.com> --- builder/sources/registry/registry.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/builder/sources/registry/registry.go b/builder/sources/registry/registry.go index 2b6a9b231..ef2e63aff 100644 --- a/builder/sources/registry/registry.go +++ b/builder/sources/registry/registry.go @@ -107,11 +107,15 @@ func WrapTransport(transport http.RoundTripper, url, username, password string) func newFromTransport(registryURL, username, password string, transport http.RoundTripper, logf LogfCallback) (*Registry, error) { url := strings.TrimSuffix(registryURL, "/") - containsScheme := strings.HasPrefix(url, "https") + containsScheme := strings.HasPrefix(url, "http") if !containsScheme { // use https by default url = fmt.Sprintf("https://%s", registryURL) } + containsScheme = strings.HasPrefix(url, "http://") + if containsScheme { + url = strings.Replace(url, "http", "https", 1) + } if username != "" { transport = WrapTransport(transport, url, username, password)