server

package
v0.0.0-...-cca9b4c Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 25, 2015 License: GPL-2.0 Imports: 9 Imported by: 0

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

func (c *Client) DeleteWidget(widgetIdentifier string)

func (*Client) GetWidget

func (c *Client) GetWidget(widgetIdentifier string) widgets.Widget

func (*Client) SetWidget

func (c *Client) SetWidget(w widgets.Widget)

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"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL