Documentation ¶
Index ¶
- func AdjustLogLevel(increment bool) error
- func GetPathRelativeToConfig(configuration *viper.Viper, key string) string
- func LogLevelSignalHandle(sig os.Signal)
- func ParseBugsnag(configuration *viper.Viper) (*bugsnag.Configuration, error)
- func ParseLogLevel(configuration *viper.Viper, defaultLevel logrus.Level) (logrus.Level, error)
- func ParseServerTLS(configuration *viper.Viper, tlsRequired bool) (*tls.Config, error)
- func ParseViper(v *viper.Viper, configFile string) error
- func RootHandlerFactory(ctx context.Context, auth auth.AccessController, trust signed.CryptoService) func(ContextHandler, ...string) *rootHandler
- func SetLastModifiedHeader(headers http.Header, lmt time.Time)
- func SetUpBugsnag(config *bugsnag.Configuration) error
- func SetupSignalTrap(handler func(os.Signal)) chan os.Signal
- func SetupViper(v *viper.Viper, envPrefix string)
- func WrapWithCacheHandler(ccc CacheControlConfig, handler http.Handler) http.Handler
- type AuthWrapper
- type CacheControlConfig
- type ContextHandler
- type NoCacheControl
- type PublicCacheControl
- type RethinkDBStorage
- type Storage
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AdjustLogLevel ¶
AdjustLogLevel increases/decreases the log level, return error if the operation is invaild.
func GetPathRelativeToConfig ¶
GetPathRelativeToConfig gets a configuration key which is a path, and if it is not empty or an absolute path, returns the absolute path relative to the configuration file
func LogLevelSignalHandle ¶
LogLevelSignalHandle will increase/decrease the logging level via the signal we get.
func ParseBugsnag ¶
ParseBugsnag tries to parse out a Bugsnag Configuration from a Viper. If no values are provided, returns a nil pointer.
func ParseLogLevel ¶
ParseLogLevel tries to parse out a log level from a Viper. If there is no configuration, defaults to the provided error level
func ParseServerTLS ¶
ParseServerTLS tries to parse out valid server TLS options from a Viper. The cert/key files are relative to the config file used to populate the instance of viper.
func ParseViper ¶
ParseViper tries to parse out a Viper from a configuration file.
func RootHandlerFactory ¶
func RootHandlerFactory(ctx context.Context, auth auth.AccessController, trust signed.CryptoService) func(ContextHandler, ...string) *rootHandler
RootHandlerFactory creates a new rootHandler factory using the given Context creator and authorizer. The returned factory allows creating new rootHandlers from the alternate http handler contextHandler and a scope.
func SetLastModifiedHeader ¶
SetLastModifiedHeader takes a time and uses it to set the LastModified header using the right date format
func SetUpBugsnag ¶
func SetUpBugsnag(config *bugsnag.Configuration) error
SetUpBugsnag configures bugsnag and sets up a logrus hook
func SetupSignalTrap ¶
SetupSignalTrap is a utility to trap supported signals hand handle them (currently by increasing logging)
func SetupViper ¶
SetupViper sets up an instance of viper to also look at environment variables
func WrapWithCacheHandler ¶
func WrapWithCacheHandler(ccc CacheControlConfig, handler http.Handler) http.Handler
WrapWithCacheHandler wraps another handler in one that can add cache control headers given a 200 response
Types ¶
type AuthWrapper ¶
type AuthWrapper func(ContextHandler, ...string) *rootHandler
AuthWrapper wraps a Handler with and Auth requirement
type CacheControlConfig ¶
type CacheControlConfig interface { // SetHeaders will actually set the cache control headers on a Headers object SetHeaders(headers http.Header) }
CacheControlConfig is an interface for something that knows how to set cache control headers
func NewCacheControlConfig ¶
func NewCacheControlConfig(maxAgeInSeconds int, mustRevalidate bool) CacheControlConfig
NewCacheControlConfig returns CacheControlConfig interface for either setting cache control or disabling cache control entirely
type ContextHandler ¶
ContextHandler defines an alternate HTTP handler interface which takes in a context for authorization and returns an HTTP application error.
type NoCacheControl ¶
type NoCacheControl struct{}
NoCacheControl is an object which represents a directive to cache nothing
func (NoCacheControl) SetHeaders ¶
func (n NoCacheControl) SetHeaders(headers http.Header)
SetHeaders sets the public headers cache-control headers and pragma to no-cache
type PublicCacheControl ¶
PublicCacheControl is a set of options that we will set to enable cache control
func (PublicCacheControl) SetHeaders ¶
func (p PublicCacheControl) SetHeaders(headers http.Header)
SetHeaders sets the public headers with an optional must-revalidate header
type RethinkDBStorage ¶
type RethinkDBStorage struct { Storage CA string Cert string DBName string Key string Username string Password string }
RethinkDBStorage is configuration about a RethinkDB backend service
func ParseRethinkDBStorage ¶
func ParseRethinkDBStorage(configuration *viper.Viper) (*RethinkDBStorage, error)
ParseRethinkDBStorage tries to parse out Storage from a Viper. If backend and URL are not provided, returns a nil pointer. Storage is required (if a backend is not provided, an error will be returned.)