Skip to content

Commit 6da4e14

Browse files
Update to grpc v1.55.0
Use URL instead of deprecated Scheme/Authority/Path fields.
1 parent 7058676 commit 6da4e14

File tree

4 files changed

+29
-53
lines changed

4 files changed

+29
-53
lines changed

go.mod

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ module github.com/Jille/grpc-multi-resolver
22

33
go 1.17
44

5-
require google.golang.org/grpc v1.44.0
5+
require google.golang.org/grpc v1.55.0
66

77
require (
8-
github.com/golang/protobuf v1.4.3 // indirect
9-
google.golang.org/protobuf v1.25.0 // indirect
8+
github.com/golang/protobuf v1.5.3 // indirect
9+
google.golang.org/protobuf v1.30.0 // indirect
1010
)

go.sum

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,16 @@ github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QD
3333
github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
3434
github.com/golang/protobuf v1.4.3 h1:JjCZWpVbqXDqFVmTfYWEVTMIYrL/NPdPSCHPJ0T/raM=
3535
github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
36+
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
37+
github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg=
38+
github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
3639
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
3740
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
3841
github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
3942
github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
4043
github.com/google/go-cmp v0.5.0 h1:/QaMHBdZ26BB3SSst0Iwl10Epc+xhTquomWX0oZEB6w=
4144
github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
45+
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
4246
github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
4347
github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw=
4448
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
@@ -93,6 +97,8 @@ google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTp
9397
google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
9498
google.golang.org/grpc v1.44.0 h1:weqSxi/TMs1SqFRMHCtBgXRs8k3X39QIDEZ0pRcttUg=
9599
google.golang.org/grpc v1.44.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU=
100+
google.golang.org/grpc v1.55.0 h1:3Oj82/tFSCeUrRTg/5E/7d/W5A1tj6Ky1ABAuZuv5ag=
101+
google.golang.org/grpc v1.55.0/go.mod h1:iYEXKGkEBhg1PjZQvoYEVPTDkHo1/bjTnfwTeGONTY8=
96102
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
97103
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
98104
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
@@ -103,6 +109,10 @@ google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2
103109
google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
104110
google.golang.org/protobuf v1.25.0 h1:Ejskq+SyPohKW+1uil0JJMtmHCgJPJ/qWTxr8qp+R4c=
105111
google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
112+
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
113+
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
114+
google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng=
115+
google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I=
106116
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
107117
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
108118
gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=

multi.go

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -36,17 +36,14 @@ func (builder) Build(target resolver.Target, cc resolver.ClientConn, opts resolv
3636
cc: cc,
3737
}
3838
var mr multiResolver
39-
for _, t := range strings.Split(target.Endpoint, ",") {
39+
for _, t := range strings.Split(target.Endpoint(), ",") {
4040
parsedTarget := ParseTarget(t)
41-
resolverBuilder := resolver.Get(parsedTarget.Scheme)
41+
resolverBuilder := resolver.Get(parsedTarget.URL.Scheme)
4242
if resolverBuilder == nil {
43-
parsedTarget = resolver.Target{
44-
Scheme: resolver.GetDefaultScheme(),
45-
Endpoint: t,
46-
}
47-
resolverBuilder = resolver.Get(parsedTarget.Scheme)
43+
parsedTarget = ParseTarget(resolver.GetDefaultScheme() + ":///" + t)
44+
resolverBuilder = resolver.Get(parsedTarget.URL.Scheme)
4845
if resolverBuilder == nil {
49-
return nil, fmt.Errorf("could not get resolver for default scheme: %q", parsedTarget.Scheme)
46+
return nil, fmt.Errorf("could not get resolver for default scheme: %q", parsedTarget.URL.Scheme)
5047
}
5148
}
5249
pcc := &partialClientConn{parent: pccg}

target.go

Lines changed: 11 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,54 +1,23 @@
1-
// This file was blatantly stolen from https://github.com/grpc/grpc-go/blob/e38032e927812bb354297adcab933bedeff6c177/internal/grpcutil/target.go
2-
/*
3-
*
4-
* Copyright 2020 gRPC authors.
5-
*
6-
* Licensed under the Apache License, Version 2.0 (the "License");
7-
* you may not use this file except in compliance with the License.
8-
* You may obtain a copy of the License at
9-
*
10-
* http://www.apache.org/licenses/LICENSE-2.0
11-
*
12-
* Unless required by applicable law or agreed to in writing, software
13-
* distributed under the License is distributed on an "AS IS" BASIS,
14-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15-
* See the License for the specific language governing permissions and
16-
* limitations under the License.
17-
*
18-
*/
19-
201
package multiresolver
212

223
import (
23-
"strings"
4+
"net/url"
245

256
"google.golang.org/grpc/resolver"
267
)
278

28-
// split2 returns the values from strings.SplitN(s, sep, 2).
29-
// If sep is not found, it returns ("", "", false) instead.
30-
func split2(s, sep string) (string, string, bool) {
31-
spl := strings.SplitN(s, sep, 2)
32-
if len(spl) < 2 {
33-
return "", "", false
34-
}
35-
return spl[0], spl[1], true
36-
}
37-
38-
// ParseTarget splits target into a resolver.Target struct containing scheme,
39-
// authority and endpoint.
9+
// ParseTarget parses target into resolver.Target URL
4010
//
41-
// If target is not a valid scheme://authority/endpoint, it returns {Endpoint:
42-
// target}.
11+
// If target is not a valid URL, it returns {Endpoint: URL: {Path: target}}.
4312
func ParseTarget(target string) (ret resolver.Target) {
44-
var ok bool
45-
ret.Scheme, ret.Endpoint, ok = split2(target, "://")
46-
if !ok {
47-
return resolver.Target{Endpoint: target}
13+
u, err := url.Parse(target)
14+
if err != nil {
15+
return resolver.Target{URL: url.URL{Path: target}}
4816
}
49-
ret.Authority, ret.Endpoint, ok = split2(ret.Endpoint, "/")
50-
if !ok {
51-
return resolver.Target{Endpoint: target}
17+
18+
return resolver.Target{
19+
Scheme: u.Scheme,
20+
Authority: u.Host,
21+
URL: *u,
5222
}
53-
return ret
5423
}

0 commit comments

Comments
 (0)