add helper like httpPath for get path in additional bindings options
This commit is contained in:
		| @@ -117,6 +117,7 @@ var ProtoHelpersFuncMap = template.FuncMap{ | ||||
| 	"namespacedFlowType":          namespacedFlowType, | ||||
| 	"httpVerb":                    httpVerb, | ||||
| 	"httpPath":                    httpPath, | ||||
| 	"httpPathsAdditionalBindings": httpPathsAdditionalBindings, | ||||
| 	"httpBody":                    httpBody, | ||||
| 	"shortType":                   shortType, | ||||
| 	"urlHasVarsFromMessage":       urlHasVarsFromMessage, | ||||
| @@ -726,6 +727,40 @@ func httpPath(m *descriptor.MethodDescriptorProto) string { | ||||
| 	} | ||||
| } | ||||
|  | ||||
| func httpPathsAdditionalBindings(m *descriptor.MethodDescriptorProto) []string { | ||||
| 	ext, err := proto.GetExtension(m.Options, options.E_Http) | ||||
| 	if err != nil { | ||||
| 		panic(err.Error()) | ||||
| 	} | ||||
| 	opts, ok := ext.(*options.HttpRule) | ||||
| 	if !ok { | ||||
| 		panic(fmt.Sprintf("extension is %T; want an HttpRule", ext)) | ||||
| 	} | ||||
|  | ||||
| 	var httpPaths []string | ||||
| 	var optsAdditionalBindings = opts.GetAdditionalBindings() | ||||
| 	for _, optAdditionalBindings := range optsAdditionalBindings { | ||||
| 		switch t := optAdditionalBindings.Pattern.(type) { | ||||
| 		case *options.HttpRule_Get: | ||||
| 			httpPaths = append(httpPaths, t.Get) | ||||
| 		case *options.HttpRule_Post: | ||||
| 			httpPaths = append(httpPaths, t.Post) | ||||
| 		case *options.HttpRule_Put: | ||||
| 			httpPaths = append(httpPaths, t.Put) | ||||
| 		case *options.HttpRule_Delete: | ||||
| 			httpPaths = append(httpPaths, t.Delete) | ||||
| 		case *options.HttpRule_Patch: | ||||
| 			httpPaths = append(httpPaths, t.Patch) | ||||
| 		case *options.HttpRule_Custom: | ||||
| 			httpPaths = append(httpPaths, t.Custom.Path) | ||||
| 		default: | ||||
| 			// nothing | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	return httpPaths | ||||
| } | ||||
|  | ||||
| func httpVerb(m *descriptor.MethodDescriptorProto) string { | ||||
|  | ||||
| 	ext, err := proto.GetExtension(m.Options, options.E_Http) | ||||
|   | ||||
		Reference in New Issue
	
	Block a user