Documentation
¶
Index ¶
- func AddMapToHTTPHeader(baseHeaders http.Header, headerMap map[string]string) http.Header
- func CreateHTTPHeaderFromMap(headerMap map[string]string) http.Header
- func NewPersistentCookieStore(config CookieConfig) (*sessions.CookieStore, error)
- func NewSessionCookieStore(config CookieConfig) (*sessions.CookieStore, error)
- func StandardLogger(r *http.Request, status, size int, duration time.Duration) *zerolog.Logger
- type Client
- type ClientConfig
- type Config
- type CookieConfig
- type DefaultResource
- type HandlerWrapper
- type MetricSet
- type PathResource
- type Resource
- type RootResource
- type Server
- func (s *Server) AddHandler(path string, handler http.Handler)
- func (s *Server) AddHandlerFunc(path string, handler http.HandlerFunc)
- func (s *Server) AddResource(pathPrefix string, r Resource)
- func (s *Server) AddRootResource(r RootResource)
- func (s *Server) AddStatusStaticMetadataItem(key string, value any)
- func (s *Server) ConfigurePrometheusRegistry(r prometheus.Registerer)
- func (s *Server) ConfigureTelemetryInstrument(i middleware.Instrument)
- func (s *Server) ListenAndServe() error
- func (s *Server) ListenAndServeTLS(tlsConfig *tls.Config) error
- func (s *Server) RegisterOnShutdown(f func())
- func (s *Server) Serve(ln net.Listener) error
- func (s *Server) ServeTLS(ln net.Listener) error
- func (s *Server) Shutdown(ctx context.Context) error
- type StatusResource
- type StructuredLoggerFormatter
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AddMapToHTTPHeader ¶
AddMapToHTTPHeader adds a map[string]string to an existing http.Header
func CreateHTTPHeaderFromMap ¶
CreateHTTPHeaderFromMap creates a new http.Header from a map[string]string
func NewPersistentCookieStore ¶
func NewPersistentCookieStore(config CookieConfig) (*sessions.CookieStore, error)
func NewSessionCookieStore ¶
func NewSessionCookieStore(config CookieConfig) (*sessions.CookieStore, error)
Types ¶
type Client ¶
type Client struct {
Config *ClientConfig
}
func NewClient ¶
func NewClient(config *ClientConfig) *Client
func NewDefaultClient ¶
func NewDefaultClient() *Client
type ClientConfig ¶
type Config ¶
type Config struct {
ListenAddress string
EnablePrometheusMetrics bool
EnableDebug bool
EnableStatus bool
EnableProxyProtocol bool
TLSConfig *tls.Config
AuthConfig auth.AuthenticationServerConfig
}
Config ...
type CookieConfig ¶
type DefaultResource ¶
type HandlerWrapper ¶
func DefaultCombinedLogHandler ¶
func DefaultCombinedLogHandler(logWriter io.Writer) HandlerWrapper
func ZerologStructuredLogHandler ¶
func ZerologStructuredLogHandler(logger zerolog.Logger) HandlerWrapper
func ZerologStructuredLogHandlerWithFormatter ¶ added in v0.36.1
func ZerologStructuredLogHandlerWithFormatter(logger zerolog.Logger, formatter StructuredLoggerFormatter) HandlerWrapper
type MetricSet ¶
type MetricSet struct {
RequestCounter *prometheus.CounterVec
RequestDuration *prometheus.HistogramVec
RequestSize *prometheus.HistogramVec
ResponseSize *prometheus.HistogramVec
InFlightGauge prometheus.Gauge
}
func NewMetricSet ¶
func NewMetricSet(r *prometheus.Registry) *MetricSet
func (*MetricSet) Middleware ¶
Middleware - to make it a middleware for mux probably a better way. TODO: need to extract this from this struct to remove the coupling with mux
func (*MetricSet) Register ¶
func (m *MetricSet) Register(r prometheus.Registerer)
type PathResource ¶
type RootResource ¶
type RootResource interface {
//Resource
Index() http.HandlerFunc
}
type Server ¶
type Server struct {
Config Config
ListenAddress string
Router *mux.Router
ResourceMap map[string]Resource
ListenAddr net.Addr
LogHandler HandlerWrapper
// contains filtered or unexported fields
}
Server ...
func (*Server) AddHandlerFunc ¶
func (s *Server) AddHandlerFunc(path string, handler http.HandlerFunc)
func (*Server) AddResource ¶
AddResource ...
func (*Server) AddRootResource ¶
func (s *Server) AddRootResource(r RootResource)
func (*Server) AddStatusStaticMetadataItem ¶
func (*Server) ConfigurePrometheusRegistry ¶
func (s *Server) ConfigurePrometheusRegistry(r prometheus.Registerer)
func (*Server) ConfigureTelemetryInstrument ¶
func (s *Server) ConfigureTelemetryInstrument(i middleware.Instrument)
func (*Server) ListenAndServe ¶
func (*Server) ListenAndServeTLS ¶
ListenAndServeTLS ... tlsConfig will override any prior configuration in s.Config
func (*Server) RegisterOnShutdown ¶
func (s *Server) RegisterOnShutdown(f func())
type StatusResource ¶
type StatusResource interface {
Status() (interface{}, error)
}
Source Files
¶
Click to show internal directories.
Click to hide internal directories.