Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RegisterPlugin ¶
RegisterPlugin register a plugin. Plugin which has the same name can't be registered twice. This method should be called before calling `runner.Run`.
Types ¶
type DefaultPlugin ¶ added in v0.4.0
type DefaultPlugin struct{}
DefaultPlugin provides the no-op implementation of the Plugin interface.
func (*DefaultPlugin) RequestFilter ¶ added in v0.4.0
func (*DefaultPlugin) RequestFilter(interface{}, http.ResponseWriter, pkgHTTP.Request)
func (*DefaultPlugin) ResponseFilter ¶ added in v0.4.0
func (*DefaultPlugin) ResponseFilter(interface{}, pkgHTTP.Response)
type Plugin ¶
type Plugin interface { // Name returns the plguin name Name() string // ParseConf is the method to parse given plugin configuration. When the // configuration can't be parsed, it will be skipped. ParseConf(in []byte) (conf interface{}, err error) // RequestFilter is the method to handle request. // It is like the `http.ServeHTTP`, plus the ctx and the configuration created by // ParseConf. // // When the `w` is written, the execution of plugin chain will be stopped. // We don't use onion model like Gin/Caddy because we don't serve the whole request lifecycle // inside the runner. The plugin is only a filter running at one stage. RequestFilter(conf interface{}, w http.ResponseWriter, r pkgHTTP.Request) // ResponseFilter is the method to handle response. // This filter is currently only pre-defined and has not been implemented. ResponseFilter(conf interface{}, w pkgHTTP.Response) }
Plugin represents the Plugin
Click to show internal directories.
Click to hide internal directories.