| Index: impl/prod/info.go
|
| diff --git a/impl/prod/info.go b/impl/prod/info.go
|
| index 344012621752afa9285f45ffdb83bff8a8599b1d..3fe006880c9730ae9c07b841a8ceaed4bea288a5 100644
|
| --- a/impl/prod/info.go
|
| +++ b/impl/prod/info.go
|
| @@ -40,8 +40,12 @@ func (g giImpl) AppID() string {
|
| func (g giImpl) FullyQualifiedAppID() string {
|
| return getProbeCache(g.usrCtx).fqaid
|
| }
|
| -func (g giImpl) GetNamespace() string {
|
| - return getProbeCache(g.usrCtx).namespace
|
| +func (g giImpl) GetNamespace() (string, bool) {
|
| + pc := getProbeCache(g.usrCtx)
|
| + if ns := pc.namespace; ns != nil {
|
| + return *ns, true
|
| + }
|
| + return "", false
|
| }
|
| func (g giImpl) Datacenter() string {
|
| return appengine.Datacenter(g.aeCtx)
|
| @@ -74,7 +78,7 @@ func (g giImpl) Namespace(namespace string) (context.Context, error) {
|
| }
|
| usrCtx := context.WithValue(g.usrCtx, prodContextKey, aeCtx)
|
| pc := *getProbeCache(usrCtx)
|
| - pc.namespace = namespace
|
| + pc.namespace = &namespace
|
| return withProbeCache(usrCtx, &pc), nil
|
| }
|
| func (g giImpl) MustNamespace(ns string) context.Context {
|
| @@ -116,16 +120,20 @@ func (g giImpl) Testable() info.Testable {
|
| }
|
|
|
| type infoProbeCache struct {
|
| - namespace string
|
| + namespace *string
|
| fqaid string
|
| }
|
|
|
| func probe(aeCtx context.Context) *infoProbeCache {
|
| probeKey := datastore.NewKey(aeCtx, "Kind", "id", 0, nil)
|
| - return &infoProbeCache{
|
| - namespace: probeKey.Namespace(),
|
| - fqaid: probeKey.AppID(),
|
| + namespace := probeKey.Namespace()
|
| + ipb := infoProbeCache{
|
| + fqaid: probeKey.AppID(),
|
| + }
|
| + if namespace != "" {
|
| + ipb.namespace = &namespace
|
| }
|
| + return &ipb
|
| }
|
|
|
| func getProbeCache(c context.Context) *infoProbeCache {
|
|
|