Documentation

Overview

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

    Index

    Constants

    This section is empty.

    Variables

    View Source
    var (
    	// ListeningAddr is a address to bind the listening socket to.
    	ListeningAddr string
    )
    View Source
    var ReadOnlyFlex = gaemiddleware.Environment{
    	MemcacheAvailable: false,
    	DSReadOnly:        true,
    	DSReadOnlyPredicate: func(k *datastore.Key) (isRO bool) {
    
    		return k.Namespace() != gaetsmon.DatastoreNamespace
    	},
    	Prepare: func(ctx context.Context) {
    		globalFlex = &cloud.Flex{
    			Cache: lru.New(65535),
    		}
    		var err error
    		if globalFlexConfig, err = globalFlex.Configure(ctx); err != nil {
    			panic(errors.Annotate(err, "could not create Flex config").Err())
    		}
    	},
    	WithInitialRequest: func(ctx context.Context, req *http.Request) context.Context {
    
    		if globalFlexConfig == nil {
    
    			panic("global Flex config is not initialized")
    		}
    		return globalFlexConfig.Use(ctx, globalFlex.Request(ctx, req))
    	},
    	WithConfig: gaeconfig.Use,
    	WithAuth: func(ctx context.Context) context.Context {
    		return auth.Initialize(ctx, &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.

      Functions

      func HTTPRequest

      func HTTPRequest(ctx 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

        func WithGlobal(ctx context.Context) context.Context

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

          Types

          This section is empty.