From 0fe2ddf535633c85a901e0c1375bc3304b5a5297 Mon Sep 17 00:00:00 2001 From: Dmitry Salakhov Date: Thu, 8 Sep 2022 11:44:50 +1200 Subject: [PATCH] fix: don't url-escape socket paths (#7627) --- api/internal/url/url.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/api/internal/url/url.go b/api/internal/url/url.go index 8d7acb82f..a4f5beb9e 100644 --- a/api/internal/url/url.go +++ b/api/internal/url/url.go @@ -11,7 +11,12 @@ import ( // to prevent an error when url has port but no protocol prefix // we add `//` prefix if needed func ParseURL(endpointURL string) (*url.URL, error) { - if !strings.HasPrefix(endpointURL, "http") && !strings.HasPrefix(endpointURL, "tcp") && !strings.HasPrefix(endpointURL, "//") { + + if !strings.HasPrefix(endpointURL, "http") && + !strings.HasPrefix(endpointURL, "tcp") && + !strings.HasPrefix(endpointURL, "//") && + !strings.HasPrefix(endpointURL, `unix:`) && + !strings.HasPrefix(endpointURL, `npipe:`) { endpointURL = fmt.Sprintf("//%s", endpointURL) }