Versions in this module Expand all Collapse all v0 v0.7.0 Sep 28, 2019 v0.1.1 Sep 24, 2019 Changes in this version + const AcceptedHostsKey + const ListenerAddrKey + const PathPrefix + const RequestAddFilter + const RequestClearFilters + const RequestPerformAction + const RequestRemoveFilter + const RequestSetContentPath + const RequestSetContext + const RequestSetNamespace + func CreateAlertUpdate(alert action.Alert) lissio.Event + func CreateContentEvent(contentResponse component.ContentResponse, namespace, contentPath string, ...) lissio.Event + func CreateEvent(eventType lissio.EventType, fields action.Payload) lissio.Event + func CreateFiltersUpdate(filters []lissio.Filter) lissio.Event + func CreateNamespacesEvent(namespaces []string) lissio.Event + func CreateNavigationEvent(sections []navigation.Navigation, defaultPath string) lissio.Event + func FilterFromPayload(in action.Payload) (lissio.Filter, bool) + func FiltersFromQueryParams(in interface{}) ([]lissio.Filter, error) + func FiltersToLabelSet(filters []lissio.Filter) *labels.Set + func ListenerAddr() string + func NamespacesGenerator(_ context.Context, config NamespaceManagerConfig) ([]string, error) + func NavigationGenerator(ctx context.Context, state lissio.State, config NavigationManagerConfig) ([]navigation.Navigation, error) + func ParseFilterQueryParam(in string) (lissio.Filter, error) + func RespondWithError(w http.ResponseWriter, code int, message string, logger log.Logger) + type API struct + func New(ctx context.Context, prefix string, actionDispatcher ActionDispatcher, ...) *API + func (a *API) ForceUpdate() error + func (a *API) Handler(ctx context.Context) (*mux.Router, error) + type ActionDispatcher interface + Dispatch func(ctx context.Context, alerter action.Alerter, actionName string, ...) error + type ActionRequestManager struct + func NewActionRequestManager() *ActionRequestManager + func (a *ActionRequestManager) Handlers() []lissio.ClientRequestHandler + func (a *ActionRequestManager) PerformAction(state lissio.State, payload action.Payload) error + func (a ActionRequestManager) Start(ctx context.Context, state lissio.State, s LissioClient) + type ClientManager interface + ClientFromRequest func(dashConfig config.Dash, w http.ResponseWriter, r *http.Request) (*WebsocketClient, error) + Run func(ctx context.Context) + type ContentGenerateFunc func(ctx context.Context, state lissio.State) (component.ContentResponse, bool, error) + type ContentManager struct + func NewContentManager(moduleManager module.ManagerInterface, logger log.Logger, ...) *ContentManager + func (cm *ContentManager) Handlers() []lissio.ClientRequestHandler + func (cm *ContentManager) SetContentPath(state lissio.State, payload action.Payload) error + func (cm *ContentManager) SetNamespace(state lissio.State, payload action.Payload) error + func (cm *ContentManager) SetQueryParams(state lissio.State, payload action.Payload) error + func (cm *ContentManager) Start(ctx context.Context, state lissio.State, s LissioClient) + type ContentManagerOption func(manager *ContentManager) + func WithContentGenerator(fn ContentGenerateFunc) ContentManagerOption + func WithContentGeneratorPoller(poller Poller) ContentManagerOption + type ContextGenerateFunc func(ctx context.Context, state lissio.State) (lissio.Event, error) + type ContextManager struct + func NewContextManager(dashConfig config.Dash, options ...ContextManagerOption) *ContextManager + func (c *ContextManager) Handlers() []lissio.ClientRequestHandler + func (c *ContextManager) SetContext(state lissio.State, payload action.Payload) error + func (c *ContextManager) Start(ctx context.Context, state lissio.State, s LissioClient) + type ContextManagerOption func(manager *ContextManager) + func WithContextGenerator(fn ContextGenerateFunc) ContextManagerOption + func WithContextGeneratorPoll(poller Poller) ContextManagerOption + type FilterManager struct + func NewFilterManager() *FilterManager + func (fm *FilterManager) AddFilter(state lissio.State, payload action.Payload) error + func (fm *FilterManager) ClearFilters(state lissio.State, payload action.Payload) error + func (fm *FilterManager) Handlers() []lissio.ClientRequestHandler + func (fm *FilterManager) RemoveFilter(state lissio.State, payload action.Payload) error + func (fm *FilterManager) Start(ctx context.Context, state lissio.State, s LissioClient) + type InterruptiblePoller struct + func NewInterruptiblePoller(name string) *InterruptiblePoller + func (ip *InterruptiblePoller) Run(ctx context.Context, ch <-chan struct{}, action PollerFunc, ...) + type LissioClient interface + ID func() string + Send func(event lissio.Event) + type NamespaceManagerConfig interface + ClusterClient func() cluster.ClientInterface + type NamespacesGenerateFunc func(ctx context.Context, config NamespaceManagerConfig) ([]string, error) + type NamespacesManager struct + func NewNamespacesManager(config NamespaceManagerConfig, options ...NamespacesManagerOption) *NamespacesManager + func (n *NamespacesManager) Start(ctx context.Context, state lissio.State, s LissioClient) + func (n NamespacesManager) Handlers() []lissio.ClientRequestHandler + type NamespacesManagerOption func(n *NamespacesManager) + func WithNamespacesGenerator(fn NamespacesGenerateFunc) NamespacesManagerOption + func WithNamespacesGeneratorPoller(poller Poller) NamespacesManagerOption + type NavigationGeneratorFunc func(ctx context.Context, state lissio.State, config NavigationManagerConfig) ([]navigation.Navigation, error) + type NavigationManager struct + func NewNavigationManager(config NavigationManagerConfig, options ...NavigationManagerOption) *NavigationManager + func (n *NavigationManager) Start(ctx context.Context, state lissio.State, s LissioClient) + func (n NavigationManager) Handlers() []lissio.ClientRequestHandler + type NavigationManagerConfig interface + ModuleManager func() module.ManagerInterface + type NavigationManagerOption func(n *NavigationManager) + func WithNavigationGenerator(fn NavigationGeneratorFunc) NavigationManagerOption + func WithNavigationGeneratorPoller(poller Poller) NavigationManagerOption + type NotFoundError struct + func NewNotFoundError(path string) *NotFoundError + func (e *NotFoundError) Error() string + func (e *NotFoundError) NotFound() bool + func (e *NotFoundError) Path() string + type Poller interface + Run func(ctx context.Context, ch <-chan struct{}, action PollerFunc, ...) + type PollerFunc func(context.Context) bool + type Service interface + ForceUpdate func() error + Handler func(ctx context.Context) (*mux.Router, error) + type SingleRunPoller struct + func NewSingleRunPoller() *SingleRunPoller + func (a SingleRunPoller) Run(ctx context.Context, ch <-chan struct{}, action PollerFunc, ...) + type StateManager interface + Handlers func() []lissio.ClientRequestHandler + Start func(ctx context.Context, state lissio.State, s LissioClient) + type WebsocketClient struct + func NewWebsocketClient(ctx context.Context, conn *websocket.Conn, dashConfig config.Dash, ...) *WebsocketClient + func (c *WebsocketClient) ID() string + func (c *WebsocketClient) RegisterHandler(handler lissio.ClientRequestHandler) + func (c *WebsocketClient) Send(ev lissio.Event) + type WebsocketClientManager struct + func NewWebsocketClientManager(ctx context.Context, dispatcher ActionDispatcher) *WebsocketClientManager + func (m *WebsocketClientManager) ClientFromRequest(dashConfig config.Dash, w http.ResponseWriter, r *http.Request) (*WebsocketClient, error) + func (m *WebsocketClientManager) Run(ctx context.Context) + type WebsocketState struct + func NewWebsocketState(dashConfig config.Dash, actionDispatcher ActionDispatcher, ...) *WebsocketState + func (c *WebsocketState) AddFilter(filter lissio.Filter) + func (c *WebsocketState) Dispatch(ctx context.Context, actionName string, payload action.Payload) error + func (c *WebsocketState) GetContentPath() string + func (c *WebsocketState) GetFilters() []lissio.Filter + func (c *WebsocketState) GetNamespace() string + func (c *WebsocketState) GetQueryParams() map[string][]string + func (c *WebsocketState) Handlers() []lissio.ClientRequestHandler + func (c *WebsocketState) OnContentPathUpdate(fn lissio.ContentPathUpdateFunc) lissio.UpdateCancelFunc + func (c *WebsocketState) OnNamespaceUpdate(fn lissio.NamespaceUpdateFunc) lissio.UpdateCancelFunc + func (c *WebsocketState) RemoveFilter(filter lissio.Filter) + func (c *WebsocketState) SendAlert(alert action.Alert) + func (c *WebsocketState) SetContentPath(contentPath string) + func (c *WebsocketState) SetContext(requestedContext string) + func (c *WebsocketState) SetFilters(filters []lissio.Filter) + func (c *WebsocketState) SetNamespace(namespace string) + func (c *WebsocketState) Start(ctx context.Context) + type WebsocketStateOption func(w *WebsocketState) + func WebsocketStateManagers(managers []StateManager) WebsocketStateOption