Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct {
Log *LogConfig `json:",omitempty"`
HTTPServers HTTPServersConfig `json:"HTTP"`
Handlers HandlersConfig `json:"Handlers"`
Metrics *MetricsConfig `json:",omitempty"`
SNI *jconf.OptionalSubConfig `json:"SNI,omitempty"` // a special backwards compatible option
TLSPlugins TLSPluginsConfig `json:",omitempty"`
TLSPluginDir string `json:",omitempty"`
}
Config defined JSON for the top level server config
func ParseConfigFromFile ¶
ParseConfigFromFile returns a pointer to a new Config object after parsing config file content.
func ParseConfigFromReadSeeker ¶
func ParseConfigFromReadSeeker(data io.ReadSeeker) (*Config, error)
ParseConfigFromReadSeeker returns a pointer to a new Config object. The config is read from a in memory buffer.
type ConfigError ¶
type ConfigError error
func WrapError ¶
func WrapError(wrapped error) ConfigError
type HTTPServerConfig ¶
type HTTPServerConfig struct {
Listeners map[string]ListenerConfig
// either string, or map (for a mux) or "404" for NotFound
Handler *jconf.MandatorySubConfig
// overrides the global Accesslog definition
AccessLog string
// a , separated string of return code specs: "2XX,412,5XX,404"
Metrics string
DisableKeepAlives bool
ReadHeaderTimeout jconf.Duration
IdleTimeout jconf.Duration
ReadTimeout jconf.Duration
WriteTimeout jconf.Duration
NewActiveTimeout jconf.Duration
}
HTTPServerConfig defines the JSON to configure a HTTP server.
type HTTPServersConfig ¶
type HTTPServersConfig map[string]HTTPServerConfig
type HandlerConfig ¶
type HandlerConfig struct {
Type string
Plugin string
Metrics string `json:",omitempty"`
Config *jconf.OptionalSubConfig `json:",omitempty"`
}
HandlerConfig specifies the type and config for a handler. Potentiall found in a plugin. All handlers can be wrapped in metrics spec specific for them.
type HandlersConfig ¶
type HandlersConfig map[string]HandlerConfig
type ListenerConfig ¶
type ListenerConfig struct {
Address string
Port int
IOActivityTimeout jconf.Duration `json:",omitempty"`
TLS *TLSServerConfig `json:",omitempty"`
SocketFdName string `json:",omitempty"`
SocketInheritOnly bool `json:",omitempty"`
}
ListenerConfig defined the JSON used to configure a listener.
type MetricsConfig ¶
type MetricsConfig struct {
Address string
Interval jconf.Duration
Prefix string
Application string
Ident string
}
MetricsConfig is the global configuration for a statsd server.
type RedirectHandlerConfig ¶
RedirectHandlerConfig is configuration for a 30X redirect handler
type TLSPluginConfig ¶
type TLSPluginConfig struct {
Type string
Plugin string
Config *jconf.OptionalSubConfig `json:",omitempty"`
}
TLSPluginConfig defines configuration for loading and configuring a TLS plugin
type TLSPluginsConfig ¶
type TLSPluginsConfig map[string]TLSPluginConfig
type TLSServerConfig ¶
type TLSServerConfig struct {
tlsconf.TLSServerConfig
EnableExternalSNI bool // backward compatible - use "" as pluginname
TLSPlugin string
}
TLSServerConfig defines JSON for a server TLS configuration including a callback to augment the *tls.Config.