Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
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(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 ¶
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.