MCPcopy
hub / github.com/grpc/grpc-go / main

Function main

interop/client/client.go:170–408  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

168}
169
170func main() {
171 flag.Parse()
172 logger.Infof("Client running with test case %q", *testCase)
173 var useGDC bool // use google default creds
174 var useCEC bool // use compute engine creds
175 if *customCredentialsType != "" {
176 switch *customCredentialsType {
177 case googleDefaultCredsName:
178 useGDC = true
179 case computeEngineCredsName:
180 useCEC = true
181 default:
182 logger.Fatalf("If set, custom_credentials_type can only be set to one of %v or %v",
183 googleDefaultCredsName, computeEngineCredsName)
184 }
185 }
186 if (*useTLS && *useALTS) || (*useTLS && useGDC) || (*useALTS && useGDC) || (*useTLS && useCEC) || (*useALTS && useCEC) {
187 logger.Fatalf("only one of TLS, ALTS, google default creds, or compute engine creds can be used")
188 }
189
190 ctx := context.Background()
191
192 var credsChosen credsMode
193 switch {
194 case *useTLS:
195 credsChosen = credsTLS
196 case *useALTS:
197 credsChosen = credsALTS
198 case useGDC:
199 credsChosen = credsGoogleDefaultCreds
200 case useCEC:
201 credsChosen = credsComputeEngineCreds
202 }
203
204 resolver.SetDefaultScheme("dns")
205 if len(*googleC2PUniverseDomain) > 0 {
206 if err := googledirectpath.SetUniverseDomain(*googleC2PUniverseDomain); err != nil {
207 log.Fatalf("googlec2p.SetUniverseDomain(%s) failed: %v", *googleC2PUniverseDomain, err)
208 }
209 }
210 serverAddr := *serverHost
211 if *serverPort != 0 {
212 serverAddr = net.JoinHostPort(*serverHost, strconv.Itoa(*serverPort))
213 }
214 var opts []grpc.DialOption
215 switch credsChosen {
216 case credsTLS:
217 var roots *x509.CertPool
218 if *testCA {
219 if *caFile == "" {
220 *caFile = testdata.Path("ca.pem")
221 }
222 b, err := os.ReadFile(*caFile)
223 if err != nil {
224 logger.Fatalf("Failed to read root certificate file %q: %v", *caFile, err)
225 }
226 roots = x509.NewCertPool()
227 if !roots.AppendCertsFromPEM(b) {

Callers

nothing calls this directly

Calls 15

SetDefaultSchemeFunction · 0.92
SetUniverseDomainFunction · 0.92
PathFunction · 0.92
NewClientTLSFromCertFunction · 0.92
NewTLSFunction · 0.92
WithTransportCredentialsFunction · 0.92
DefaultClientOptionsFunction · 0.92
NewClientCredsFunction · 0.92
WithCredentialsBundleFunction · 0.92
NewDefaultCredentialsFunction · 0.92
NewCredentialsFunction · 0.92

Tested by

no test coverage detected