Documentation
¶
Overview ¶
Package server contains the HTTP, gRPC and CoAP server implementation.
Copyright (c) Abstract Machines SPDX-License-Identifier: Apache-2.0
Index ¶
- Constants
- func LoadRootCACerts(input string) (*x509.CertPool, error)
- func LoadX509KeyPair(certFile, keyFile string) (tls.Certificate, error)
- func ReadFileOrData(input string) ([]byte, error)
- func StopSignalHandler(ctx context.Context, cancel context.CancelFunc, logger *slog.Logger, ...) error
- type BaseServer
- type Config
- type Server
Constants ¶
View Source
const StopWaitTime = 5 * time.Second
Variables ¶
This section is empty.
Functions ¶
func LoadX509KeyPair ¶ added in v0.18.0
func LoadX509KeyPair(certFile, keyFile string) (tls.Certificate, error)
func ReadFileOrData ¶ added in v0.18.0
Types ¶
type BaseServer ¶
type BaseServer struct {
Ctx context.Context
Cancel context.CancelFunc
Name string
Address string
Config Config
Logger *slog.Logger
Protocol string
}
func NewBaseServer ¶
func NewBaseServer(ctx context.Context, cancel context.CancelFunc, name string, config Config, logger *slog.Logger) BaseServer
type Config ¶
type Config struct {
Host string `env:"HOST" envDefault:"localhost"`
Port string `env:"PORT" envDefault:""`
CertFile string `env:"SERVER_CERT" envDefault:""`
KeyFile string `env:"SERVER_KEY" envDefault:""`
ServerCAFile string `env:"SERVER_CA_CERTS" envDefault:""`
ClientCAFile string `env:"CLIENT_CA_CERTS" envDefault:""`
ReadTimeout time.Duration `env:"SERVER_READ_TIMEOUT" envDefault:"15s"`
WriteTimeout time.Duration `env:"SERVER_WRITE_TIMEOUT" envDefault:"15s"`
ReadHeaderTimeout time.Duration `env:"SERVER_READ_HEADER_TIMEOUT" envDefault:"5s"`
IdleTimeout time.Duration `env:"SERVER_IDLE_TIMEOUT" envDefault:"60s"`
MaxHeaderBytes int `env:"SERVER_MAX_HEADER_BYTES" envDefault:"1048576"` // 1 << 20
}
Config is a struct that contains the configuration for the server.
Directories
¶
| Path | Synopsis |
|---|---|
|
Package coap contains the CoAP server implementation.
|
Package coap contains the CoAP server implementation. |
|
Package grpc contains the gRPC server implementation.
|
Package grpc contains the gRPC server implementation. |
|
Package http contains the HTTP server implementation.
|
Package http contains the HTTP server implementation. |
Click to show internal directories.
Click to hide internal directories.