utils

package
v0.4.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 21, 2016 License: Apache-2.0 Imports: 25 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AdjustLogLevel added in v0.4.0

func AdjustLogLevel(increment bool) error

AdjustLogLevel increases/decreases the log level, return error if the operation is invaild.

func ExportKeys added in v0.4.0

func ExportKeys(to io.Writer, s Exporter, from string) error

ExportKeys copies a key from the store to the io.Writer

func ExportKeysByGUN added in v0.4.0

func ExportKeysByGUN(to io.Writer, s Exporter, gun string) error

ExportKeysByGUN exports all keys filtered to a GUN

func ExportKeysByID added in v0.4.0

func ExportKeysByID(to io.Writer, s Exporter, ids []string) error

ExportKeysByID exports all keys matching the given ID

func GetPathRelativeToConfig

func GetPathRelativeToConfig(configuration *viper.Viper, key string) string

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 ImportKeys added in v0.4.0

func ImportKeys(from io.Reader, to []Importer, fallbackRole string, fallbackGun string, passRet notary.PassRetriever) error

ImportKeys expects an io.Reader containing one or more PEM blocks. It reads PEM blocks one at a time until pem.Decode returns a nil block. Each block is written to the subpath indicated in the "path" PEM header. If the file already exists, the file is truncated. Multiple adjacent PEMs with the same "path" header are appended together.

func ParseBugsnag

func ParseBugsnag(configuration *viper.Viper) (*bugsnag.Configuration, error)

ParseBugsnag tries to parse out a Bugsnag Configuration from a Viper. If no values are provided, returns a nil pointer.

func ParseLogLevel

func ParseLogLevel(configuration *viper.Viper, defaultLevel logrus.Level) (
	logrus.Level, error)

ParseLogLevel tries to parse out a log level from a Viper. If there is no configuration, defaults to the provided error level

func ParseServerTLS

func ParseServerTLS(configuration *viper.Viper, tlsRequired bool) (*tls.Config, error)

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

func ParseViper(v *viper.Viper, configFile string) error

ParseViper tries to parse out a Viper from a configuration file.

func RootHandlerFactory

func RootHandlerFactory(auth auth.AccessController, ctx context.Context, 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 added in v0.3.0

func SetLastModifiedHeader(headers http.Header, lmt time.Time)

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 SetupViper

func SetupViper(v *viper.Viper, envPrefix string)

SetupViper sets up an instance of viper to also look at environment variables

func WrapWithCacheHandler added in v0.3.0

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 CacheControlConfig added in v0.3.0

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 added in v0.3.0

func NewCacheControlConfig(maxAgeInSeconds int, mustRevalidate bool) CacheControlConfig

NewCacheControlConfig returns CacheControlConfig interface for either setting cache control or disabling cache control entirely

type ContextHandler added in v0.4.0

type ContextHandler func(ctx context.Context, w http.ResponseWriter, r *http.Request) error

ContextHandler defines an alterate HTTP handler interface which takes in a context for authorization and returns an HTTP application error.

type Exporter added in v0.4.0

type Exporter interface {
	Get(string) ([]byte, error)
	ListFiles() []string
}

Exporter is a simple interface for the two functions we need from the Storage interface

type Importer added in v0.4.0

type Importer interface {
	Set(string, []byte) error
}

Importer is a simple interface for the one function we need from the Storage interface

type NoCacheControl added in v0.3.0

type NoCacheControl struct{}

NoCacheControl is an object which represents a directive to cache nothing

func (NoCacheControl) SetHeaders added in v0.3.0

func (n NoCacheControl) SetHeaders(headers http.Header)

SetHeaders sets the public headers cache-control headers and pragma to no-cache

type PublicCacheControl added in v0.3.0

type PublicCacheControl struct {
	MustReValidate  bool
	MaxAgeInSeconds int
}

PublicCacheControl is a set of options that we will set to enable cache control

func (PublicCacheControl) SetHeaders added in v0.3.0

func (p PublicCacheControl) SetHeaders(headers http.Header)

SetHeaders sets the public headers with an optional must-revalidate header

type RethinkDBStorage added in v0.3.0

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 added in v0.3.0

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.)

type Storage

type Storage struct {
	Backend string
	Source  string
}

Storage is a configuration about what storage backend a server should use

func ParseSQLStorage added in v0.3.0

func ParseSQLStorage(configuration *viper.Viper) (*Storage, error)

ParseSQLStorage 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.)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL