# Functions
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.
NewCacheControlConfig returns CacheControlConfig interface for either setting cache control or disabling cache control entirely.
ParseBugsnag tries to parse out a Bugsnag Configuration from a Viper.
ParseLogLevel tries to parse out a log level from a Viper.
ParseRethinkDBStorage tries to parse out Storage from a Viper.
ParseServerTLS tries to parse out valid server TLS options from a Viper.
ParseSQLStorage tries to parse out Storage from a Viper.
ParseViper tries to parse out a Viper from a configuration file.
RootHandlerFactory creates a new rootHandler factory using the given Context creator and authorizer.
SetLastModifiedHeader takes a time and uses it to set the LastModified header using the right date format.
SetUpBugsnag configures bugsnag and sets up a logrus hook.
SetupViper sets up an instance of viper to also look at environment variables.
WrapWithCacheHandler wraps another handler in one that can add cache control headers given a 200 response.
# Structs
NoCacheControl is an object which represents a directive to cache nothing.
PublicCacheControl is a set of options that we will set to enable cache control.
RethinkDBStorage is configuration about a RethinkDB backend service.
Storage is a configuration about what storage backend a server should use.
# Interfaces
CacheControlConfig is an interface for something that knows how to set cache control headers.