service

package
v2.7.8 Latest Latest
Warning

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

Go to latest
Published: Feb 1, 2023 License: Apache-2.0 Imports: 41 Imported by: 0

Documentation

Index

Constants

View Source
const (
	AuthorizationWhiteListedEndpointsRegexp = `^\/(a$|[^a].*|ap$|a[^p].*|ap[^i].*|api[^/])`
)

Variables

This section is empty.

Functions

func New

func New(ctx context.Context, config Config, fileWatcher *fsnotify.Watcher, logger log.Logger) (*service.Service, error)

New parses configuration and creates new Server with provided store and bus

Types

type APIsConfig

type APIsConfig struct {
	HTTP HTTPConfig `yaml:"http" json:"http"`
}

Config represent application configuration

func (*APIsConfig) Validate

func (c *APIsConfig) Validate() error

type BasicOAuthClient

type BasicOAuthClient struct {
	ClientID string   `yaml:"clientID" json:"clientId"`
	Audience string   `yaml:"audience" json:"audience"`
	Scopes   []string `yaml:"scopes" json:"scopes"`
}

func (*BasicOAuthClient) ToProto added in v2.5.0

func (c *BasicOAuthClient) ToProto() *pb.WebOAuthClient

func (*BasicOAuthClient) Validate

func (c *BasicOAuthClient) Validate() error

type ClientsConfig

type ClientsConfig struct {
	GrpcGateway            GrpcServerConfig                  `yaml:"grpcGateway" json:"grpcGateway"`
	OpenTelemetryCollector http.OpenTelemetryCollectorConfig `yaml:"openTelemetryCollector" json:"openTelemetryCollector"`
}

func (*ClientsConfig) Validate

func (c *ClientsConfig) Validate() error

type Config

type Config struct {
	Log     log.Config    `yaml:"log" json:"log"`
	APIs    APIsConfig    `yaml:"apis" json:"apis"`
	Clients ClientsConfig `yaml:"clients" json:"clients"`
	UI      UIConfig      `yaml:"ui" json:"ui"`
}

func (Config) String

func (c Config) String() string

String return string representation of Config

func (*Config) Validate

func (c *Config) Validate() error

type DeviceOAuthClient

type DeviceOAuthClient struct {
	BasicOAuthClient `yaml:",inline"`
	ProviderName     string `json:"providerName" yaml:"providerName"`
}

func (*DeviceOAuthClient) ToProto added in v2.5.0

func (c *DeviceOAuthClient) ToProto() *pb.DeviceOAuthClient

func (*DeviceOAuthClient) Validate

func (c *DeviceOAuthClient) Validate() error

type GrpcServerConfig

type GrpcServerConfig struct {
	Connection client.Config `yaml:"grpc" json:"grpc"`
}

func (*GrpcServerConfig) Validate

func (c *GrpcServerConfig) Validate() error

type HTTPConfig

type HTTPConfig struct {
	Connection    listener.Config  `yaml:",inline" json:",inline"`
	WebSocket     WebSocketConfig  `yaml:"webSocket" json:"webSocket"`
	Authorization validator.Config `yaml:"authorization" json:"authorization"`
	Server        server.Config    `yaml:",inline" json:",inline"`
}

func (*HTTPConfig) Validate

func (c *HTTPConfig) Validate() error

type RequestHandler

type RequestHandler struct {
	// contains filtered or unexported fields
}

RequestHandler for handling incoming request

func NewRequestHandler

func NewRequestHandler(config *Config, r *mux.Router, client *client.Client) (*RequestHandler, error)

NewHTTP returns HTTP handler

func (*RequestHandler) CancelPendingCommands

func (requestHandler *RequestHandler) CancelPendingCommands(w http.ResponseWriter, r *http.Request)

type UIConfig

type UIConfig struct {
	Enabled          bool             `json:"enabled" yaml:"enabled"`
	Directory        string           `json:"directory" yaml:"directory"`
	WebConfiguration WebConfiguration `json:"webConfiguration" yaml:"webConfiguration"`
}

UIConfig represents user interface configuration

func (*UIConfig) Validate

func (c *UIConfig) Validate() error

type WebConfiguration

type WebConfiguration struct {
	Authority          string            `yaml:"-" json:"authority"`
	HTTPGatewayAddress string            `yaml:"httpGatewayAddress" json:"httpGatewayAddress"`
	WebOAuthClient     BasicOAuthClient  `yaml:"webOAuthClient" json:"webOauthClient"`
	DeviceOAuthClient  DeviceOAuthClient `yaml:"deviceOAuthClient" json:"deviceOauthClient"`
}

WebConfiguration represents web configuration for user interface exposed via getOAuthConfiguration handler

func (*WebConfiguration) Validate

func (c *WebConfiguration) Validate() error

type WebSocketConfig

type WebSocketConfig struct {
	StreamBodyLimit int           `yaml:"streamBodyLimit" json:"streamBodyLimit"`
	PingFrequency   time.Duration `yaml:"pingFrequency" json:"pingFrequency"`
}

func (*WebSocketConfig) Validate

func (c *WebSocketConfig) Validate() error

Jump to

Keyboard shortcuts

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