Documentation
¶
Index ¶
- Constants
- type Client
- type Event
- type EventHandler
- type Paged
- type Param
- type Parity
- type RequestHandler
- type ResourceBuilder
- type SchemaHandler
- type StockEventHandler
- func (r *StockEventHandler) Created(Event)
- func (r *StockEventHandler) Deleted(Event)
- func (r *StockEventHandler) End()
- func (r *StockEventHandler) Error(*Watch, error)
- func (r *StockEventHandler) Options() WatchOptions
- func (r *StockEventHandler) Parity()
- func (r *StockEventHandler) Started(uint64)
- func (r *StockEventHandler) Updated(Event)
- type Watch
- type WatchOptions
- type WatchReader
- type WatchWriter
- func (r *WatchWriter) Created(event model.Event)
- func (r *WatchWriter) Deleted(event model.Event)
- func (r *WatchWriter) End()
- func (r *WatchWriter) Error(err error)
- func (r *WatchWriter) Options() model.WatchOptions
- func (r *WatchWriter) Parity()
- func (r *WatchWriter) Start(watch *model.Watch)
- func (r *WatchWriter) Started(watchID uint64)
- func (r *WatchWriter) Updated(event model.Event)
- type Watched
- type WebServer
Constants ¶
const ( // Watch requested. WatchHeader = "X-Watch" // Options. WatchSnapshot = "snapshot" )
Header.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct {
// Transport.
Transport http.RoundTripper
// Headers.
Header http.Header
// Reply.
Reply struct {
Header http.Header
}
}
REST client.
type Event ¶
type Event struct {
// ID
ID uint64
// Labels.
Labels []string
// Action.
Action uint8
// Affected Resource.
Resource interface{}
// Updated resource.
Updated interface{}
}
Event
type EventHandler ¶
type EventHandler interface {
// Watch options.
Options() WatchOptions
// The watch has started.
Started(uint64)
// Parity marker.
// The watch has delivered the initial set
// of `Created` events.
Parity()
// Resource created.
Created(r Event)
// Resource updated.
Updated(r Event)
// Resource deleted.
Deleted(r Event)
// An error has occurred.
// The handler may call the Repair() on
// the watch to repair the watch as desired.
Error(*Watch, error)
// The watch has ended.
End()
}
Event handler
type RequestHandler ¶
Web request handler.
type SchemaHandler ¶
type SchemaHandler struct {
// Schema version
Version string
// Schema release.
Release int
// contains filtered or unexported fields
}
Schema (route) handler.
type StockEventHandler ¶
type StockEventHandler struct{}
Stock event handler. Provides default event methods.
func (*StockEventHandler) Created ¶
func (r *StockEventHandler) Created(Event)
A model has been created.
func (*StockEventHandler) Deleted ¶
func (r *StockEventHandler) Deleted(Event)
A model has been deleted.
func (*StockEventHandler) Error ¶
func (r *StockEventHandler) Error(*Watch, error)
An error has occurred reading events.
func (*StockEventHandler) Options ¶
func (r *StockEventHandler) Options() WatchOptions
Watch options.
func (*StockEventHandler) Updated ¶
func (r *StockEventHandler) Updated(Event)
A model has been updated.
type WatchOptions ¶
type WatchOptions = libmodel.WatchOptions
type WatchReader ¶
type WatchReader struct {
// contains filtered or unexported fields
}
Watch (event) reader.
type WatchWriter ¶
type WatchWriter struct {
// contains filtered or unexported fields
}
Watch (event) writer. The writer is model event handler. Each event is send (forwarded) to the watch client. This provides the bridge between the model and web layer.
func (*WatchWriter) Created ¶
func (r *WatchWriter) Created(event model.Event)
A model has been created.
func (*WatchWriter) Deleted ¶
func (r *WatchWriter) Deleted(event model.Event)
A model has been deleted.
func (*WatchWriter) Error ¶
func (r *WatchWriter) Error(err error)
An error has occurred delivering an event.
func (*WatchWriter) Start ¶
func (r *WatchWriter) Start(watch *model.Watch)
Start the writer. Detect connection closed by peer or broken and end the watch.
func (*WatchWriter) Updated ¶
func (r *WatchWriter) Updated(event model.Event)
A model has been updated.
type Watched ¶
type Watched struct {
// Watch requested.
WatchRequest bool
// contains filtered or unexported fields
}
Watched (handler).
type WebServer ¶
type WebServer struct {
// The optional port. Default: 8080
Port int
// Allowed CORS origins.
AllowedOrigins []string
// Reference to the container.
Container *container.Container
// Handlers
Handlers []RequestHandler
// TLS.
TLS struct {
// Enabled.
Enabled bool
// Certificate path.
Certificate string
// Key path
Key string
}
// contains filtered or unexported fields
}
Web server
func New ¶
func New(c *container.Container, routes ...RequestHandler) *WebServer
Build new web server.
func (*WebServer) Start ¶
func (w *WebServer) Start(middleware ...gin.HandlerFunc)
Start the web-server. Initializes `gin` with routes and CORS origins. Creates an http server to handle TLS