Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func IsRegistered ¶
IsRegistered check plugin whether registered global. Notice plugin is not check whether is nil
Types ¶
type Handler ¶
Handler is the plugin middleware handler which wraps an existing http.Handler passed in. Its the responsibility of the Handler to call the next http.Handler in the chain.
type Manager ¶
Manager is the plugin manager which stores plugins and allows them to be retrieved. This is used by all the components of micro.
type Option ¶
type Option func(o *Options)
func WithCommand ¶
func WithCommand(cmd ...*cli.Command) Option
WithCommand adds commands to a plugin
type Options ¶
type Options struct { Name string Flags []cli.Flag Commands []*cli.Command Handlers []Handler Init func(*cli.Context) error }
Options are used as part of a new plugin
type Plugin ¶
type Plugin interface { // Global Flags Flags() []cli.Flag // Sub-commands Commands() []*cli.Command // Handle is the middleware handler for HTTP requests. We pass in // the existing handler so it can be wrapped to create a call chain. Handler() Handler // Init called when command line args are parsed. // The initialised cli.Context is passed in. Init(*cli.Context) error // Name of the plugin String() string }
Plugin is the interface for plugins to micro. It differs from go-micro in that it's for the micro API, Web, Sidecar, CLI. It's a method of building middleware for the HTTP side.