Documentation ¶
Overview ¶
Package api implements a type used for creating the Benthos HTTP API.
Index ¶
- type Config
- type Dynamic
- func (d *Dynamic) HandleCRUD(w http.ResponseWriter, r *http.Request)
- func (d *Dynamic) HandleList(w http.ResponseWriter, r *http.Request)
- func (d *Dynamic) OnDelete(onDelete func(id string) error)
- func (d *Dynamic) OnUpdate(onUpdate func(id string, conf []byte) error)
- func (d *Dynamic) Started(id string, config []byte)
- func (d *Dynamic) Stopped(id string)
- type Type
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { Address string `json:"address" yaml:"address"` ReadTimeoutMS int `json:"read_timeout_ms" yaml:"read_timeout_ms"` DebugEndpoints bool `json:"debug_endpoints" yaml:"debug_endpoints"` }
Config contains the configuration fields for the Benthos API.
type Dynamic ¶ added in v0.8.3
type Dynamic struct {
// contains filtered or unexported fields
}
Dynamic is a type for exposing CRUD operations on dynamic broker configurations as an HTTP interface. Events can be registered for listening to configuration changes, and these events should be forwarded to the dynamic broker.
func NewDynamic ¶ added in v0.8.3
func NewDynamic() *Dynamic
NewDynamic creates a new Dynamic API type.
func (*Dynamic) HandleCRUD ¶ added in v0.8.3
func (d *Dynamic) HandleCRUD(w http.ResponseWriter, r *http.Request)
HandleCRUD is an http.HandleFunc for performing CRUD operations on dynamic components by their ids.
func (*Dynamic) HandleList ¶ added in v0.8.3
func (d *Dynamic) HandleList(w http.ResponseWriter, r *http.Request)
HandleList is an http.HandleFunc for returning maps of active dynamic components by their id to uptime.
func (*Dynamic) OnDelete ¶ added in v0.8.3
OnDelete registers a func to handle CRUD events where a request wants to remove a dynamic configuration. An error should be returned if the component failed to close.
func (*Dynamic) OnUpdate ¶ added in v0.8.3
OnUpdate registers a func to handle CRUD events where a request wants to set a new value for a dynamic configuration. An error should be returned if the configuration is invalid or the component failed.
type Type ¶
type Type struct {
// contains filtered or unexported fields
}
Type implements the Benthos HTTP API.
func New ¶
func New( version string, dateBuilt string, conf Config, wholeConf interface{}, log log.Modular, stats metrics.Type, ) *Type
New creates a new Benthos HTTP API.
func (*Type) ListenAndServe ¶
ListenAndServe launches the API and blocks until the server closes or fails.
func (*Type) RegisterEndpoint ¶
func (t *Type) RegisterEndpoint(path, desc string, handler http.HandlerFunc)
RegisterEndpoint registers a http.HandlerFunc under a path with a description that will be displayed under the /endpoints path.