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 {
    	// 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.

            func (*GlobalServices) StorageForStream

            func (gsvc *GlobalServices) StorageForStream(c context.Context, lst *coordinator.LogStreamState, project string) (
            	coordinator.SigningStorage, error)

              Storage returns a Storage instance for the supplied log stream.

              The caller must close the returned instance if successful.

              type Services

              type Services interface {
              	// Storage returns a Storage instance for the supplied log stream.
              	//
              	// The caller must close the returned instance if successful.
              	StorageForStream(ctx context.Context, state *coordinator.LogStreamState, project string) (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