Skip to content

Commit

Permalink
Skip services that have no methods with http bindings
Browse files Browse the repository at this point in the history
  • Loading branch information
tmc committed Jan 4, 2017
1 parent 3b17c95 commit dddc6bc
Showing 1 changed file with 8 additions and 4 deletions.
12 changes: 8 additions & 4 deletions protoc-gen-grpc-gateway/gengateway/template.go
Original file line number Diff line number Diff line change
Expand Up @@ -71,22 +71,26 @@ func applyTemplate(p param) (string, error) {
if err := headerTemplate.Execute(w, p); err != nil {
return "", err
}
var methodSeen bool
var targetServices []*descriptor.Service
for _, svc := range p.Services {
var methodWithBindingsSeen bool
for _, meth := range svc.Methods {
glog.V(2).Infof("Processing %s.%s", svc.GetName(), meth.GetName())
methodSeen = true
for _, b := range meth.Bindings {
methodWithBindingsSeen = true
if err := handlerTemplate.Execute(w, binding{Binding: b}); err != nil {
return "", err
}
}
}
if methodWithBindingsSeen {
targetServices = append(targetServices, svc)
}
}
if !methodSeen {
if len(targetServices) == 0 {
return "", errNoTargetService
}
if err := trailerTemplate.Execute(w, p.Services); err != nil {
if err := trailerTemplate.Execute(w, targetServices); err != nil {
return "", err
}
return w.String(), nil
Expand Down

0 comments on commit dddc6bc

Please sign in to comment.