Documentation ¶
Index ¶
- func Append(s *string, args ...string)
- func CamelCase(s string) string
- func DefaultAPIOptions(pkg string, srv string, mth string) *options.HttpRule
- func ExtractAPIOptions(mth protoreflect.MethodDescriptor) (*options.HttpRule, error)
- func ExtractHttpMethod(opts *options.HttpRule) (method string, path string)
- func Import(name string) func(id string) protogen.GoIdent
- func NewList(vv []interface{}) abc.Value
- func NewStruct(v map[string]interface{}) abc.Value
- func NewValue(rv interface{}) abc.Value
- func ParseParameter(args string)
- func ParseRequest(r io.Reader) (*plugin.CodeGeneratorRequest, error)
- func SourceCode(buf *bytes.Buffer) (string, error)
- func Template(tpl string, m pongo2.Context) string
- func UnExport(s string) string
- func Zero(rv interface{}) (interface{}, error)
- type Context
- type GenWrap
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CamelCase ¶
CamelCase returns the CamelCased name. If there is an interior underscore followed by a lower case letter, drop the underscore and convert the letter to upper case. There is a remote possibility of this rewrite causing a name collision, but it's so remote we're prepared to pretend it's nonexistent - since the C++ generator lowercases names, it's extremely unlikely to have two fields with different capitalizations. In short, _my_field_name_2 becomes XMyFieldName_2.
func DefaultAPIOptions ¶
DefaultAPIOptions This generates an HttpRule that matches the gRPC mapping to HTTP/2 described in https://github.com/grpc/grpc/blob/master/doc/PROTOCOL-HTTP2.md#requests i.e.:
- method is POST
- path is "<pkg name>/<service name>/<method name>"
- body should contain the serialized request message
func ExtractAPIOptions ¶
func ExtractAPIOptions(mth protoreflect.MethodDescriptor) (*options.HttpRule, error)
func ExtractHttpMethod ¶
func ParseParameter ¶
func ParseParameter(args string)
func ParseRequest ¶
func ParseRequest(r io.Reader) (*plugin.CodeGeneratorRequest, error)
Types ¶
Click to show internal directories.
Click to hide internal directories.