Documentation
¶
Index ¶
- func CreateResourceContentToObserver(client *session, resourceChanged *events.ResourceChanged, observe uint32, ...) (*pool.Message, error)
- func DefaultCodeToLevel(code codes.Code, logger log.Logger) func(args ...interface{})
- func MakeGetConfigForClient(tlsCfg *tls.Config, identityPropertiesRequired bool) tls.Config
- func New(ctx context.Context, config Config, fileWatcher *fsnotify.Watcher, ...) (*service.Service, error)
- func PublishResourceLinks(ctx context.Context, raClient raService.ResourceAggregateClient, ...) ([]*commands.Resource, error)
- func ValidUntil(expiry time.Time) (validUntil int64, ok bool)
- func WantToLog(code codes.Code, logger log.Logger) bool
- type APIsConfig
- type AuthorizationConfig
- type COAPConfig
- type COAPConfigMarshalerUnmarshaler
- type ClientsConfig
- type CoapRefreshTokenReq
- type CoapRefreshTokenResp
- type CoapSignInReq
- type CoapSignInResp
- type CoapSignUpRequest
- type CoapSignUpResponse
- type Config
- type DeviceStatusExpirationConfig
- type EventBusConfig
- type ExchangeCache
- type GrpcServerConfig
- type IdentityStoreConfig
- type InjectedCOAPConfig
- type InjectedTLSConfig
- type Interceptor
- type LogConfig
- type ProvidersConfig
- type RefreshCache
- type ResourceAggregateConfig
- type Service
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func CreateResourceContentToObserver ¶ added in v2.3.6
func CreateResourceContentToObserver(client *session, resourceChanged *events.ResourceChanged, observe uint32, token coapMessage.Token) (*pool.Message, error)
func DefaultCodeToLevel ¶ added in v2.2.4
DefaultCodeToLevel is the default implementation of gRPC return codes and interceptor log level for server side.
func MakeGetConfigForClient ¶
func New ¶
func New(ctx context.Context, config Config, fileWatcher *fsnotify.Watcher, logger log.Logger) (*service.Service, error)
New creates server.
func PublishResourceLinks ¶
func ValidUntil ¶
ValidUntil returns time until expiration. No expiration is denoted by expiry = 0 for which 0 is returned. When expired, ok is false.
Types ¶
type APIsConfig ¶
type APIsConfig struct {
COAP COAPConfigMarshalerUnmarshaler `yaml:"coap" json:"coap"`
}
func (*APIsConfig) Validate ¶
func (c *APIsConfig) Validate() error
type AuthorizationConfig ¶
type AuthorizationConfig struct { DeviceIDClaim string `yaml:"deviceIDClaim" json:"deviceIdClaim"` OwnerClaim string `yaml:"ownerClaim" json:"ownerClaim"` Providers []ProvidersConfig `yaml:"providers" json:"providers"` }
func (*AuthorizationConfig) Validate ¶
func (c *AuthorizationConfig) Validate() error
type COAPConfig ¶
type COAPConfig struct { coapService.Config `yaml:",inline" json:",inline"` ExternalAddress string `yaml:"externalAddress" json:"externalAddress"` Authorization AuthorizationConfig `yaml:"authorization" json:"authorization"` OwnerCacheExpiration time.Duration `yaml:"ownerCacheExpiration" json:"ownerCacheExpiration"` SubscriptionBufferSize int `yaml:"subscriptionBufferSize" json:"subscriptionBufferSize"` RequireBatchObserveEnabled bool `yaml:"requireBatchObserveEnabled" json:"requireBatchObserveEnabled"` InjectedCOAPConfig InjectedCOAPConfig `yaml:"-" json:"-"` }
func (*COAPConfig) Validate ¶
func (c *COAPConfig) Validate() error
type COAPConfigMarshalerUnmarshaler ¶ added in v2.7.14
type COAPConfigMarshalerUnmarshaler struct {
COAPConfig `yaml:",inline"`
}
func (COAPConfigMarshalerUnmarshaler) MarshalYAML ¶ added in v2.7.14
func (c COAPConfigMarshalerUnmarshaler) MarshalYAML() (interface{}, error)
func (*COAPConfigMarshalerUnmarshaler) UnmarshalYAML ¶ added in v2.7.14
func (c *COAPConfigMarshalerUnmarshaler) UnmarshalYAML(value *yaml.Node) error
func (*COAPConfigMarshalerUnmarshaler) Validate ¶ added in v2.7.14
func (c *COAPConfigMarshalerUnmarshaler) Validate() error
type ClientsConfig ¶
type ClientsConfig struct { Eventbus EventBusConfig `yaml:"eventBus" json:"eventBus"` OpenTelemetryCollector otelClient.Config `yaml:"openTelemetryCollector" json:"openTelemetryCollector"` IdentityStore IdentityStoreConfig `yaml:"identityStore" json:"identityStore"` ResourceDirectory GrpcServerConfig `yaml:"resourceDirectory" json:"resourceDirectory"` CertificateAuthority GrpcServerConfig `yaml:"certificateAuthority" json:"certificateAuthority"` ResourceAggregate ResourceAggregateConfig `yaml:"resourceAggregate" json:"resourceAggregate"` }
func (*ClientsConfig) Validate ¶
func (c *ClientsConfig) Validate() error
type CoapRefreshTokenReq ¶
type CoapRefreshTokenResp ¶
type CoapSignInReq ¶
type CoapSignInResp ¶
type CoapSignInResp struct {
ExpiresIn int64 `json:"expiresin"`
}
type CoapSignUpRequest ¶
type CoapSignUpResponse ¶
type Config ¶
type Config struct { Log LogConfig `yaml:"log" json:"log"` APIs APIsConfig `yaml:"apis" json:"apis"` Clients ClientsConfig `yaml:"clients" json:"clients"` TaskQueue queue.Config `yaml:"taskQueue" json:"taskQueue"` }
Config represent application configuration
type DeviceStatusExpirationConfig ¶
type DeviceStatusExpirationConfig struct { Enabled bool `yaml:"enabled" json:"enabled"` ExpiresIn time.Duration `yaml:"expiresIn" json:"expiresIn"` }
func (*DeviceStatusExpirationConfig) Validate ¶
func (c *DeviceStatusExpirationConfig) Validate() error
type EventBusConfig ¶
type EventBusConfig struct {
NATS natsClient.Config `yaml:"nats" json:"nats"`
}
func (*EventBusConfig) Validate ¶
func (c *EventBusConfig) Validate() error
type ExchangeCache ¶ added in v2.6.2
type ExchangeCache struct {
// contains filtered or unexported fields
}
Thread safe cache for Exchange operation.
Exchange takes authorization code and returns access token. Cache keeps track of the last (code, oauth2.token) pair and if the authorization code for next Exchange call is the same as the cached value then the call is skipped and the stored token is returned instead.
func NewExchangeCache ¶
func NewExchangeCache() *ExchangeCache
type GrpcServerConfig ¶
func (*GrpcServerConfig) Validate ¶
func (c *GrpcServerConfig) Validate() error
type IdentityStoreConfig ¶
func (*IdentityStoreConfig) Validate ¶
func (c *IdentityStoreConfig) Validate() error
type InjectedCOAPConfig ¶ added in v2.7.14
type InjectedCOAPConfig struct {
TLSConfig InjectedTLSConfig `yaml:"tls" json:"tls"`
}
func (*InjectedCOAPConfig) Validate ¶ added in v2.7.14
func (c *InjectedCOAPConfig) Validate() error
type InjectedTLSConfig ¶ added in v2.7.14
type InjectedTLSConfig struct {
IdentityPropertiesRequired bool `yaml:"identityPropertiesRequired" json:"identityPropertiesRequired"`
}
type Interceptor ¶
type ProvidersConfig ¶
type RefreshCache ¶ added in v2.6.2
type RefreshCache struct {
// contains filtered or unexported fields
}
Thread safe cache for Refresh operation.
Refresh takes a refreshToken and returns access token. Cache keeps track of the last (refreshToken, oauth2.token) pair and if the authorization code for next Refresh call is the same as the cache value then the call is skipped and the stored token is returned instead.
func NewRefreshCache ¶
func NewRefreshCache() *RefreshCache
func (*RefreshCache) Clear ¶ added in v2.6.2
func (r *RefreshCache) Clear()
type ResourceAggregateConfig ¶
type ResourceAggregateConfig struct { Connection client.Config `yaml:"grpc" json:"grpc"` DeviceStatusExpiration DeviceStatusExpirationConfig `yaml:"deviceStatusExpiration" json:"deviceStatusExpiration"` }
func (*ResourceAggregateConfig) Validate ¶
func (c *ResourceAggregateConfig) Validate() error
type Service ¶
type Service struct {
// contains filtered or unexported fields
}
Service is a configuration of coap-gateway
func (*Service) ValidateToken ¶
Source Files
¶
- auth.go
- clientCreateHandler.go
- clientDeleteHandler.go
- clientObserveHandler.go
- clientObserver.go
- clientResetHandler.go
- clientRetrieveHandler.go
- clientSendResponse.go
- clientSubscriber.go
- clientUpdateHandler.go
- config.go
- createErrorResponse.go
- devicesStatusUpdater.go
- exchangeCache.go
- log.go
- plgdTime.go
- refreshCache.go
- refreshToken.go
- resourceDirectory.go
- resourceDiscovery.go
- resourceRouteHandler.go
- service.go
- session.go
- signIn.go
- signOff.go
- signUp.go
- validUntil.go