Documentation ¶
Index ¶
Constants ¶
View Source
const ClientSecretHeader = "X-Client-Secret"
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct { Name string Identifier string AvailableWidgets []widgets.Widget LastSeen time.Time // contains filtered or unexported fields }
func (*Client) DeleteWidget ¶
type ClientConfiguration ¶
type ClientConfiguration struct {
Secret string `json:"secret"`
}
type ClientRegistration ¶
type ClientRegistration struct { Name string `json:"name" binding:"required"` Identifier string `json:"identifier" binding:"required"` AvailableWidgets []WidgetRegistration `json:"availableWidgets" binding:"required"` }
type Configuration ¶
type Configuration struct { UpdateInterval int `json:"updateInterval"` Clients map[string]ClientConfiguration `json:"clients"` Users map[string]string `json:"users"` MinimumClientUpdateInterval time.Duration `json:"-"` MaximumClientUpdateInterval time.Duration `json:"-"` MaximumWidgetAge time.Duration `json:"-"` }
Configuration holds the server configuration
func (*Configuration) ParseConfiguration ¶
func (c *Configuration) ParseConfiguration(file string) error
Parse options from a configuration file and validate the configuration file.
Returns an error if reading the configuration file failed or if the resulting configuration could not be Validated.
func (*Configuration) ValidateConfiguration ¶
func (c *Configuration) ValidateConfiguration() error
Validate a configuration if it is invalid an error is returned.
type Server ¶
type Server interface { RegisterClient(r *ClientRegistration) error AllRegisteredClients() []*ClientRegistration GetClient(identifier string) (*Client, bool) AuthenticateClient(c *gin.Context, clientIdentifier string) bool }
func NewServer ¶
func NewServer(c Configuration) Server
type UserAuthenticator ¶
type UserAuthenticator struct {
Configuration Configuration
}
func (*UserAuthenticator) AuthenticateUser ¶
func (auth *UserAuthenticator) AuthenticateUser(username, password string) bool
func (*UserAuthenticator) BasicAuthForUser ¶
func (auth *UserAuthenticator) BasicAuthForUser(c *gin.Context) bool
type WidgetRegistration ¶
type WidgetRegistration struct { Type string `json:"type" binding:"required"` Configuration json.RawMessage `json:"configuration" binding:"required"` }
Click to show internal directories.
Click to hide internal directories.