flex

package
v0.0.0-...-a0a3655 Latest Latest
Warning

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

Go to latest
Published: Jun 28, 2019 License: Apache-2.0 Imports: 23 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func WithServices

func WithServices(c context.Context, s Services) context.Context

WithServices installs the supplied Services instance into a Context.

Types

type GlobalServices

type GlobalServices struct {
	// LUCIConfigProvider satisfies the ConfigProvider interface requirement.
	coordinator.LUCIConfigProvider

	// Signer is the signer instance to use.
	Signer gaesigner.Signer
	// contains filtered or unexported fields
}

GlobalServices is an application singleton that stores cross-request service structures.

It is applied to each Flex HTTP request using its Base() middleware method.

func NewGlobalServices

func NewGlobalServices(c context.Context) (*GlobalServices, error)

NewGlobalServices instantiates a new GlobalServices instance.

The Context passed to GlobalServices should be a global Context not a request-specific Context, with required services installed: - auth - luci_config

func (*GlobalServices) Base

func (gsvc *GlobalServices) Base(c *router.Context, next router.Handler)

Base is Middleware used by Coordinator Flex services.

It installs a production Services instance into the Context.

func (*GlobalServices) Close

func (gsvc *GlobalServices) Close() error

Close closes the GlobalServices instance, releasing any retained resources.

type Services

type Services interface {
	coordinator.ConfigProvider

	// Storage returns a Storage instance for the supplied log stream.
	//
	// The caller must close the returned instance if successful.
	StorageForStream(context.Context, *coordinator.LogStreamState, types.ProjectName) (coordinator.SigningStorage, error)
}

Services is a set of support services used by AppEngine Classic Coordinator endpoints.

Each instance is valid for a single request, but can be re-used throughout that request. This is advised, as the Services instance may optionally cache values.

Services methods are goroutine-safe.

func GetServices

func GetServices(c context.Context) Services

GetServices gets the Services instance installed in the supplied Context.

If no Services has been installed, it will panic.

type StorageCache

type StorageCache struct {
	// contains filtered or unexported fields
}

StorageCache implements a generic storage.Cache for Storage instances.

This uses the process cache for the underlying cache.

func (*StorageCache) Get

func (sc *StorageCache) Get(c context.Context, key storage.CacheKey) ([]byte, bool)

Get implements storage.Cache.

func (*StorageCache) Put

func (sc *StorageCache) Put(c context.Context, key storage.CacheKey, data []byte, exp time.Duration)

Put implements storage.Cache.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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