Documentation
¶
Index ¶
- Variables
- func HandleResponse(response *Response, outputLocation string) error
- type Environment
- type File
- type Message
- func (*Message) Descriptor() ([]byte, []int)deprecated
- func (x *Message) GetCode() string
- func (x *Message) GetKeys() []string
- func (x *Message) GetLevel() Message_Level
- func (x *Message) GetText() string
- func (*Message) ProtoMessage()
- func (x *Message) ProtoReflect() protoreflect.Message
- func (x *Message) Reset()
- func (x *Message) String() string
- type Message_Level
- func (Message_Level) Descriptor() protoreflect.EnumDescriptor
- func (x Message_Level) Enum() *Message_Level
- func (Message_Level) EnumDescriptor() ([]byte, []int)deprecated
- func (x Message_Level) Number() protoreflect.EnumNumber
- func (x Message_Level) String() string
- func (Message_Level) Type() protoreflect.EnumType
- type Messages
- type Parameter
- type Request
- func (request *Request) AddModel(modelType string, model proto.Message) error
- func (*Request) Descriptor() ([]byte, []int)deprecated
- func (x *Request) GetCompilerVersion() *Version
- func (x *Request) GetModels() []*anypb.Any
- func (x *Request) GetOutputPath() string
- func (x *Request) GetParameters() []*Parameter
- func (x *Request) GetSourceName() string
- func (*Request) ProtoMessage()
- func (x *Request) ProtoReflect() protoreflect.Message
- func (x *Request) Reset()
- func (x *Request) String() string
- type Response
- func (*Response) Descriptor() ([]byte, []int)deprecated
- func (x *Response) GetErrors() []string
- func (x *Response) GetFiles() []*File
- func (x *Response) GetMessages() []*Message
- func (*Response) ProtoMessage()
- func (x *Response) ProtoReflect() protoreflect.Message
- func (x *Response) Reset()
- func (x *Response) String() string
- type Version
- func (*Version) Descriptor() ([]byte, []int)deprecated
- func (x *Version) GetMajor() int32
- func (x *Version) GetMinor() int32
- func (x *Version) GetPatch() int32
- func (x *Version) GetSuffix() string
- func (*Version) ProtoMessage()
- func (x *Version) ProtoReflect() protoreflect.Message
- func (x *Version) Reset()
- func (x *Version) String() string
Constants ¶
This section is empty.
Variables ¶
var ( Message_Level_name = map[int32]string{ 0: "UNKNOWN", 1: "INFO", 2: "WARNING", 3: "ERROR", 4: "FATAL", } Message_Level_value = map[string]int32{ "UNKNOWN": 0, "INFO": 1, "WARNING": 2, "ERROR": 3, "FATAL": 4, } )
Enum value maps for Message_Level.
var File_plugins_plugin_proto protoreflect.FileDescriptor
Functions ¶
func HandleResponse ¶
Types ¶
type Environment ¶
type Environment struct {
Request *Request // plugin request object
Response *Response // response message
Invocation string // string representation of call
RunningAsPlugin bool // true if app is being run as a plugin
Verbose bool // if true, plugin should log details to stderr
}
Environment contains the environment of a plugin call.
func NewEnvironment ¶
func NewEnvironment() (env *Environment, err error)
NewEnvironment creates a plugin context from arguments and standard input.
func (*Environment) RespondAndExit ¶
func (env *Environment) RespondAndExit()
RespondAndExit serializes and returns the plugin response and then exits.
func (*Environment) RespondAndExitIfError ¶
func (env *Environment) RespondAndExitIfError(err error)
RespondAndExitIfError checks an error and if it is non-nil, records it and serializes and returns the response and then exits.
type File ¶
type File struct {
// name of the file
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// data to be written to the file
Data []byte `protobuf:"bytes,2,opt,name=data,proto3" json:"data,omitempty"`
// contains filtered or unexported fields
}
File describes a file generated by a plugin.
func (*File) Descriptor
deprecated
func (*File) ProtoMessage ¶
func (*File) ProtoMessage()
func (*File) ProtoReflect ¶
func (x *File) ProtoReflect() protoreflect.Message
type Message ¶
type Message struct {
// message severity
Level Message_Level `protobuf:"varint,1,opt,name=level,proto3,enum=gnostic.plugin.v1.Message_Level" json:"level,omitempty"`
// a unique message identifier
Code string `protobuf:"bytes,2,opt,name=code,proto3" json:"code,omitempty"`
// message text
Text string `protobuf:"bytes,3,opt,name=text,proto3" json:"text,omitempty"`
// an associated key path in an API description
Keys []string `protobuf:"bytes,4,rep,name=keys,proto3" json:"keys,omitempty"`
// contains filtered or unexported fields
}
Plugins can return messages to be collated and reported by gnostic.
func (*Message) Descriptor
deprecated
func (*Message) GetLevel ¶
func (x *Message) GetLevel() Message_Level
func (*Message) ProtoMessage ¶
func (*Message) ProtoMessage()
func (*Message) ProtoReflect ¶
func (x *Message) ProtoReflect() protoreflect.Message
type Message_Level ¶
type Message_Level int32
const ( Message_UNKNOWN Message_Level = 0 Message_INFO Message_Level = 1 Message_WARNING Message_Level = 2 Message_ERROR Message_Level = 3 Message_FATAL Message_Level = 4 )
func (Message_Level) Descriptor ¶
func (Message_Level) Descriptor() protoreflect.EnumDescriptor
func (Message_Level) Enum ¶
func (x Message_Level) Enum() *Message_Level
func (Message_Level) EnumDescriptor
deprecated
func (Message_Level) EnumDescriptor() ([]byte, []int)
Deprecated: Use Message_Level.Descriptor instead.
func (Message_Level) Number ¶
func (x Message_Level) Number() protoreflect.EnumNumber
func (Message_Level) String ¶
func (x Message_Level) String() string
func (Message_Level) Type ¶
func (Message_Level) Type() protoreflect.EnumType
type Messages ¶
type Messages struct {
Messages []*Message `protobuf:"bytes,1,rep,name=messages,proto3" json:"messages,omitempty"`
// contains filtered or unexported fields
}
func (*Messages) Descriptor
deprecated
func (*Messages) GetMessages ¶
func (*Messages) ProtoMessage ¶
func (*Messages) ProtoMessage()
func (*Messages) ProtoReflect ¶
func (x *Messages) ProtoReflect() protoreflect.Message
type Parameter ¶
type Parameter struct {
// The name of the parameter as specified in the option string
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
// The parameter value as specified in the option string
Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
// contains filtered or unexported fields
}
A parameter passed to the plugin from (or through) gnostic.
func (*Parameter) Descriptor
deprecated
func (*Parameter) ProtoMessage ¶
func (*Parameter) ProtoMessage()
func (*Parameter) ProtoReflect ¶
func (x *Parameter) ProtoReflect() protoreflect.Message
type Request ¶
type Request struct {
// filename or URL of the original source document
SourceName string `protobuf:"bytes,1,opt,name=source_name,json=sourceName,proto3" json:"source_name,omitempty"`
// Output path specified in the plugin invocation.
OutputPath string `protobuf:"bytes,2,opt,name=output_path,json=outputPath,proto3" json:"output_path,omitempty"`
// Plugin parameters parsed from the invocation string.
Parameters []*Parameter `protobuf:"bytes,3,rep,name=parameters,proto3" json:"parameters,omitempty"`
// The version number of gnostic.
CompilerVersion *Version `protobuf:"bytes,4,opt,name=compiler_version,json=compilerVersion,proto3" json:"compiler_version,omitempty"`
// API models
Models []*anypb.Any `protobuf:"bytes,5,rep,name=models,proto3" json:"models,omitempty"`
// contains filtered or unexported fields
}
An encoded Request is written to the plugin's stdin.
func (*Request) Descriptor
deprecated
func (*Request) GetCompilerVersion ¶
func (*Request) GetOutputPath ¶
func (*Request) GetParameters ¶
func (*Request) GetSourceName ¶
func (*Request) ProtoMessage ¶
func (*Request) ProtoMessage()
func (*Request) ProtoReflect ¶
func (x *Request) ProtoReflect() protoreflect.Message
type Response ¶
type Response struct {
// Error message. If non-empty, the plugin failed.
// The plugin process should exit with status code zero
// even if it reports an error in this way.
//
// This should be used to indicate errors which prevent the plugin from
// operating as intended. Errors which indicate a problem in gnostic
// itself -- such as the input Document being unparseable -- should be
// reported by writing a message to stderr and exiting with a non-zero
// status code.
Errors []string `protobuf:"bytes,1,rep,name=errors,proto3" json:"errors,omitempty"`
// file output, each file will be written by gnostic to an appropriate
// location.
Files []*File `protobuf:"bytes,2,rep,name=files,proto3" json:"files,omitempty"`
// informational messages to be collected and reported by gnostic.
Messages []*Message `protobuf:"bytes,3,rep,name=messages,proto3" json:"messages,omitempty"`
// contains filtered or unexported fields
}
The plugin writes an encoded Response to stdout.
func (*Response) Descriptor
deprecated
func (*Response) GetMessages ¶
func (*Response) ProtoMessage ¶
func (*Response) ProtoMessage()
func (*Response) ProtoReflect ¶
func (x *Response) ProtoReflect() protoreflect.Message
type Version ¶
type Version struct {
Major int32 `protobuf:"varint,1,opt,name=major,proto3" json:"major,omitempty"`
Minor int32 `protobuf:"varint,2,opt,name=minor,proto3" json:"minor,omitempty"`
Patch int32 `protobuf:"varint,3,opt,name=patch,proto3" json:"patch,omitempty"`
// A suffix for alpha, beta or rc release, e.g., "alpha-1", "rc2". It should
// be empty for mainline stable releases.
Suffix string `protobuf:"bytes,4,opt,name=suffix,proto3" json:"suffix,omitempty"`
// contains filtered or unexported fields
}
The version number of gnostic.
func (*Version) Descriptor
deprecated
func (*Version) ProtoMessage ¶
func (*Version) ProtoMessage()
func (*Version) ProtoReflect ¶
func (x *Version) ProtoReflect() protoreflect.Message
Directories
¶
| Path | Synopsis |
|---|---|
|
gnostic_analyze is a tool for analyzing OpenAPI descriptions.
|
gnostic_analyze is a tool for analyzing OpenAPI descriptions. |
|
summarize
command
summarize is a tool for summarizing the results of gnostic_analyze runs.
|
summarize is a tool for summarizing the results of gnostic_analyze runs. |
|
gnostic-complexity is a plugin that generates a complexity summary of an API.
|
gnostic-complexity is a plugin that generates a complexity summary of an API. |
|
gnostic-plugin-request is a development tool that captures and optionally displays the contents of the gnostic plugin interface.
|
gnostic-plugin-request is a development tool that captures and optionally displays the contents of the gnostic plugin interface. |
|
gnostic-process-plugin-response is a development tool that processes the output of a gnostic plugin in the same way that it would be handled by gnostic itself.
|
gnostic-process-plugin-response is a development tool that processes the output of a gnostic plugin in the same way that it would be handled by gnostic itself. |
|
gnostic_go_generator is a sample Gnostic plugin that generates Go code that supports an API.
|
gnostic_go_generator is a sample Gnostic plugin that generates Go code that supports an API. |