Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(121)

Side by Side Diff: grpc/cmd/rpc/show.go

Issue 2219023003: Update APIs to use new Google cloud paths. (Closed) Base URL: https://github.com/luci/luci-go@master
Patch Set: Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2016 The LUCI Authors. All rights reserved. 1 // Copyright 2016 The LUCI Authors. All rights reserved.
2 // Use of this source code is governed under the Apache License, Version 2.0 2 // Use of this source code is governed under the Apache License, Version 2.0
3 // that can be found in the LICENSE file. 3 // that can be found in the LICENSE file.
4 4
5 package main 5 package main
6 6
7 import ( 7 import (
8 "fmt" 8 "fmt"
9 "os" 9 "os"
10 "strings" 10 "strings"
11 11
12 "github.com/maruel/subcommands" 12 "github.com/maruel/subcommands"
13 "golang.org/x/net/context" 13 "golang.org/x/net/context"
14 "google.golang.org/genproto/protobuf"
14 15
15 "github.com/luci/luci-go/common/cli" 16 "github.com/luci/luci-go/common/cli"
16 » "github.com/luci/luci-go/common/proto/google/descriptor" 17 » "github.com/luci/luci-go/common/proto/google/descutil"
17 "github.com/luci/luci-go/grpc/prpc" 18 "github.com/luci/luci-go/grpc/prpc"
18 ) 19 )
19 20
20 var cmdShow = &subcommands.Command{ 21 var cmdShow = &subcommands.Command{
21 UsageLine: `show [flags] <server> [name] 22 UsageLine: `show [flags] <server> [name]
22 23
23 server: host ("example.com") or port for localhost (":8080"). 24 server: host ("example.com") or port for localhost (":8080").
24 name: a full name of service, method or type. If not specified prints names 25 name: a full name of service, method or type. If not specified prints names
25 of all available services.`, 26 of all available services.`,
26 ShortDesc: "lists services and prints a definition of a referenced objec t.", 27 ShortDesc: "lists services and prints a definition of a referenced objec t.",
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
68 return fmt.Errorf("could not load server description: %s", err) 69 return fmt.Errorf("could not load server description: %s", err)
69 } 70 }
70 71
71 if name == "" { 72 if name == "" {
72 for _, s := range desc.Services { 73 for _, s := range desc.Services {
73 fmt.Println(s) 74 fmt.Println(s)
74 } 75 }
75 return nil 76 return nil
76 } 77 }
77 78
78 » file, obj, path := desc.Description.Resolve(name) 79 » file, obj, path := descutil.Resolve(desc.Description, name)
79 if obj == nil { 80 if obj == nil {
80 return fmt.Errorf("name %q could not resolved", name) 81 return fmt.Errorf("name %q could not resolved", name)
81 } 82 }
82 83
83 print := newPrinter(os.Stdout) 84 print := newPrinter(os.Stdout)
84 print.File = file 85 print.File = file
85 86
86 switch obj := obj.(type) { 87 switch obj := obj.(type) {
87 88
88 case *descriptor.ServiceDescriptorProto: 89 case *descriptor.ServiceDescriptorProto:
89 print.Service(obj, path[1], -1) 90 print.Service(obj, path[1], -1)
90 91
91 case *descriptor.MethodDescriptorProto: 92 case *descriptor.MethodDescriptorProto:
92 serviceIndex, methodIndex := path[1], path[3] 93 serviceIndex, methodIndex := path[1], path[3]
93 print.Service(file.Service[serviceIndex], serviceIndex, methodIn dex) 94 print.Service(file.Service[serviceIndex], serviceIndex, methodIn dex)
94 95
95 printMsg := func(name string) { 96 printMsg := func(name string) {
96 name = strings.TrimPrefix(name, ".") 97 name = strings.TrimPrefix(name, ".")
97 » » » file, msg, path := desc.Description.Resolve(name) 98 » » » file, msg, path := descutil.Resolve(desc.Description, na me)
98 if msg == nil { 99 if msg == nil {
99 print.Printf("// Message %q is not found\n", nam e) 100 print.Printf("// Message %q is not found\n", nam e)
100 return 101 return
101 } 102 }
102 print.File = file 103 print.File = file
103 print.Message(msg.(*descriptor.DescriptorProto), path) 104 print.Message(msg.(*descriptor.DescriptorProto), path)
104 } 105 }
105 106
106 print.Printf("\n") 107 print.Printf("\n")
107 printMsg(obj.GetInputType()) 108 printMsg(obj.GetInputType())
(...skipping 11 matching lines...) Expand all
119 120
120 case *descriptor.EnumValueDescriptorProto: 121 case *descriptor.EnumValueDescriptorProto:
121 print.EnumValue(obj, path) 122 print.EnumValue(obj, path)
122 123
123 default: 124 default:
124 return fmt.Errorf("object of type %T is not supported", obj) 125 return fmt.Errorf("object of type %T is not supported", obj)
125 } 126 }
126 127
127 return print.Err 128 return print.Err
128 } 129 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698