5f89a6a78e
pkg/urlutil (despite its poorly chosen name) is not really intended as a generic utility to handle URLs, and should only be used by the builder to handle (remote) build contexts. - IsURL() only does a very rudimentary check for http(s):// prefixes, without any other validation, but due to its name may give incorrect expectations. - IsGitURL() is written specifically with docker build remote git contexts in mind, and has handling for backward-compatibility, where strings that are not URLs, but start with "github.com/" are accepted. Because of the above, this patch: - moves the package inside builder/remotecontext, close to where it's intended to be used (ideally this would be part of build/remotecontext itself, but this package imports many other dependencies, which would introduce those as extra dependencies in the CLI). - deprecates pkg/urlutil, but adds aliases as there are some external consumers. Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
21 lines
952 B
Go
21 lines
952 B
Go
package urlutil // import "github.com/docker/docker/pkg/urlutil"
|
|
|
|
import "github.com/docker/docker/builder/remotecontext/urlutil"
|
|
|
|
// IsURL returns true if the provided str is an HTTP(S) URL.
|
|
//
|
|
// Deprecated: use github.com/docker/docker/builder/remotecontext/urlutil.IsURL
|
|
// to detect build-context type, or use strings.HasPrefix() to check if the
|
|
// string has a https:// or http:// prefix.
|
|
func IsURL(str string) bool {
|
|
// TODO(thaJeztah) when removing this alias, remove the exception from hack/validate/pkg-imports and hack/make.ps1 (Validate-PkgImports)
|
|
return urlutil.IsURL(str)
|
|
}
|
|
|
|
// IsGitURL returns true if the provided str is a git repository URL.
|
|
//
|
|
// Deprecated: use github.com/docker/docker/builder/remotecontext/urlutil.IsGitURL
|
|
func IsGitURL(str string) bool {
|
|
// TODO(thaJeztah) when removing this alias, remove the exception from hack/validate/pkg-imports and hack/make.ps1 (Validate-PkgImports)
|
|
return urlutil.IsGitURL(str)
|
|
}
|