Documentation
¶
Overview ¶
Package appproto contains helper functionality for protoc plugins.
Note this is currently implicitly tested through buf's protoc command. If this were split out into a separate package, testing would need to be moved to this package.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type Executor ¶ added in v0.23.0
type Executor interface {
Execute(
ctx context.Context,
container app.EnvStderrContainer,
readWriteBucket storage.ReadWriteBucket,
request *pluginpb.CodeGeneratorRequest,
) error
}
Executor executes the Handler using protoc's plugin execution logic.
This invokes a Handler and writes out the response to a Bucket, additionally accounting for insertion point logic.
type Handler ¶ added in v0.19.0
type Handler interface {
// Handle handles the plugin.
//
// This function can assume the request is valid.
Handle(
ctx context.Context,
container app.EnvStderrContainer,
responseWriter ResponseWriter,
request *pluginpb.CodeGeneratorRequest,
) error
}
Handler is a protoc plugin handler
type HandlerFunc ¶ added in v0.19.0
type HandlerFunc func( context.Context, app.EnvStderrContainer, ResponseWriter, *pluginpb.CodeGeneratorRequest, ) error
HandlerFunc is a handler function.
func (HandlerFunc) Handle ¶ added in v0.19.0
func (h HandlerFunc) Handle( ctx context.Context, container app.EnvStderrContainer, responseWriter ResponseWriter, request *pluginpb.CodeGeneratorRequest, ) error
Handle implements Handler.
type ResponseWriter ¶
type ResponseWriter interface {
// Add adds the file to the response.
//
// Returns error if nil, the name is empty, or the name is already added.
Add(*pluginpb.CodeGeneratorResponse_File) error
// AddError adds the error message to the response.
//
// If there is an existing error message, this will be concatenated with a newline.
AddError(message string) error
// SetFeatureProto3Optional sets the proto3 optional feature.
SetFeatureProto3Optional()
}
ResponseWriter handles CodeGeneratorResponses.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package appprotoexec provides protoc plugin handling and execution.
|
Package appprotoexec provides protoc plugin handling and execution. |
|
cmd/protoc-gen-proxy
command
Package main defines protoc-gen-proxy, which is a testing protoc plugin that proxies to other plugins or to protoc.
|
Package main defines protoc-gen-proxy, which is a testing protoc plugin that proxies to other plugins or to protoc. |
Click to show internal directories.
Click to hide internal directories.