From 55c20d2872f36ffa4b6b10dfb1b89f14d4252e6d Mon Sep 17 00:00:00 2001 From: Delweng Zheng Date: Mon, 9 Jul 2018 20:28:01 +0800 Subject: [PATCH] rpc: url.Parse can't parse filepath in windows --- rpc/client.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/rpc/client.go b/rpc/client.go index a2ef2ed6b6..0ef93760d2 100644 --- a/rpc/client.go +++ b/rpc/client.go @@ -27,6 +27,7 @@ import ( "net/url" "os" "reflect" + "runtime" "strconv" "strings" "sync" @@ -177,6 +178,13 @@ func DialContext(ctx context.Context, rawurl string) (*Client, error) { case "": return DialIPC(ctx, rawurl) default: + if runtime.GOOS == "windows" && len(u.Scheme) == 1 { + for s := 'a'; s <= 'z'; s++ { + if rune(u.Scheme[0]) == s { + return DialIPC(ctx, rawurl) + } + } + } return nil, fmt.Errorf("no known transport for URL scheme %q", u.Scheme) } }