luci: go.chromium.org/luci/appengine/gaemiddleware/flex Index | Files

package flex

import "go.chromium.org/luci/appengine/gaemiddleware/flex"

Package flex exposes gaemiddleware Environments for AppEngine's Flex environment.

Index

Package Files

context.go env.go prpc.go

Variables

var (
    // ListeningAddr is a address to bind the listening socket to.
    ListeningAddr string
)
var ReadOnlyFlex = gaemiddleware.Environment{
    MemcacheAvailable: false,
    DSReadOnly:        true,
    DSReadOnlyPredicate: func(k *datastore.Key) (isRO bool) {

        return k.Namespace() != gaetsmon.DatastoreNamespace
    },
    Prepare: func(c context.Context) {
        globalFlex = &cloud.Flex{
            Cache: lru.New(65535),
        }
        var err error
        if globalFlexConfig, err = globalFlex.Configure(c); err != nil {
            panic(errors.Annotate(err, "could not create Flex config").Err())
        }
    },
    WithInitialRequest: func(c context.Context, req *http.Request) context.Context {

        if globalFlexConfig == nil {

            panic("global Flex config is not initialized")
        }
        return globalFlexConfig.Use(c, globalFlex.Request(c, req))
    },
    WithConfig: gaeconfig.UseFlex,
    WithAuth: func(c context.Context) context.Context {
        return auth.SetConfig(c, &globalAuthConfig)
    },
    ExtraMiddleware: router.NewMiddlewareChain(
        flexFoundationMiddleware,
        globalTsMonState.Middleware,
    ),
    ExtraHandlers: func(r *router.Router, base router.MiddlewareChain) {
        gaeauth.InstallHandlers(r, base)
        pprof.InstallHandlers(r, base)

        r.GET("/_ah/health", router.MiddlewareChain{},
            func(c *router.Context) { c.Writer.WriteHeader(http.StatusOK) })
    },
}

ReadOnlyFlex is an Environment designed for cooperative Flex support environments.

func HTTPRequest Uses

func HTTPRequest(c context.Context) *http.Request

HTTPRequest returns the inbound HTTP request associated with the current Context.

This value will always be available if the Context has been initialized by Use.

func WithGlobal Uses

func WithGlobal(c context.Context) context.Context

WithGlobal returns a Context that is not attached to a specific request.

Package flex imports 22 packages (graph) and is imported by 2 packages. Updated 2018-08-18. Refresh now. Tools for package owners.