diff options
Diffstat (limited to 'vendor/google.golang.org/appengine')
| -rw-r--r-- | vendor/google.golang.org/appengine/appengine.go | 3 | ||||
| -rw-r--r-- | vendor/google.golang.org/appengine/internal/api.go | 22 | ||||
| -rw-r--r-- | vendor/google.golang.org/appengine/internal/api_common.go | 30 | 
3 files changed, 49 insertions, 6 deletions
| diff --git a/vendor/google.golang.org/appengine/appengine.go b/vendor/google.golang.org/appengine/appengine.go index 475cf2e..d4f8084 100644 --- a/vendor/google.golang.org/appengine/appengine.go +++ b/vendor/google.golang.org/appengine/appengine.go @@ -28,7 +28,8 @@ import (  // See https://cloud.google.com/appengine/docs/flexible/custom-runtimes#health_check_requests  // for details on how to do your own health checking.  // -// Main is not yet supported on App Engine Standard. +// On App Engine Standard it ensures the server has started and is prepared to +// receive requests.  //  // Main never returns.  // diff --git a/vendor/google.golang.org/appengine/internal/api.go b/vendor/google.golang.org/appengine/internal/api.go index e9c56d4..09562c4 100644 --- a/vendor/google.golang.org/appengine/internal/api.go +++ b/vendor/google.golang.org/appengine/internal/api.go @@ -32,7 +32,8 @@ import (  )  const ( -	apiPath = "/rpc_http" +	apiPath             = "/rpc_http" +	defaultTicketSuffix = "/default.20150612t184001.0"  )  var ( @@ -269,8 +270,13 @@ func WithContext(parent netcontext.Context, req *http.Request) netcontext.Contex  	return withContext(parent, c)  } -func getDefaultTicket() string { +// DefaultTicket returns a ticket used for background context or dev_appserver. +func DefaultTicket() string {  	defaultTicketOnce.Do(func() { +		if IsDevAppServer() { +			defaultTicket = "testapp" + defaultTicketSuffix +			return +		}  		appID := partitionlessAppID()  		escAppID := strings.Replace(strings.Replace(appID, ":", "_", -1), ".", "_", -1)  		majVersion := VersionID(nil) @@ -291,7 +297,7 @@ func BackgroundContext() netcontext.Context {  	}  	// Compute background security ticket. -	ticket := getDefaultTicket() +	ticket := DefaultTicket()  	ctxs.bg = &context{  		req: &http.Request{ @@ -485,9 +491,15 @@ func Call(ctx netcontext.Context, service, method string, in, out proto.Message)  	}  	ticket := c.req.Header.Get(ticketHeader) -	// Fall back to use background ticket when the request ticket is not available in Flex. +	// Use a test ticket under test environment. +	if ticket == "" { +		if appid := ctx.Value(&appIDOverrideKey); appid != nil { +			ticket = appid.(string) + defaultTicketSuffix +		} +	} +	// Fall back to use background ticket when the request ticket is not available in Flex or dev_appserver.  	if ticket == "" { -		ticket = getDefaultTicket() +		ticket = DefaultTicket()  	}  	req := &remotepb.Request{  		ServiceName: &service, diff --git a/vendor/google.golang.org/appengine/internal/api_common.go b/vendor/google.golang.org/appengine/internal/api_common.go index 2db33a7..8c3eece 100644 --- a/vendor/google.golang.org/appengine/internal/api_common.go +++ b/vendor/google.golang.org/appengine/internal/api_common.go @@ -5,6 +5,8 @@  package internal  import ( +	"os" +  	"github.com/golang/protobuf/proto"  	netcontext "golang.org/x/net/context"  ) @@ -84,3 +86,31 @@ func Logf(ctx netcontext.Context, level int64, format string, args ...interface{  func NamespacedContext(ctx netcontext.Context, namespace string) netcontext.Context {  	return withNamespace(ctx, namespace)  } + +// SetTestEnv sets the env variables for testing background ticket in Flex. +func SetTestEnv() func() { +	var environ = []struct { +		key, value string +	}{ +		{"GAE_LONG_APP_ID", "my-app-id"}, +		{"GAE_MINOR_VERSION", "067924799508853122"}, +		{"GAE_MODULE_INSTANCE", "0"}, +		{"GAE_MODULE_NAME", "default"}, +		{"GAE_MODULE_VERSION", "20150612t184001"}, +	} + +	for _, v := range environ { +		old := os.Getenv(v.key) +		os.Setenv(v.key, v.value) +		v.value = old +	} +	return func() { // Restore old environment after the test completes. +		for _, v := range environ { +			if v.value == "" { +				os.Unsetenv(v.key) +				continue +			} +			os.Setenv(v.key, v.value) +		} +	} +} | 
