| Index: impl/memory/info.go
|
| diff --git a/impl/memory/info.go b/impl/memory/info.go
|
| index 89c2f440285a364537c9df245e686827f26f0482..9a63ba847935aa00f24cc52216c2309e629779fd 100644
|
| --- a/impl/memory/info.go
|
| +++ b/impl/memory/info.go
|
| @@ -6,10 +6,11 @@ package memory
|
|
|
| import (
|
| "fmt"
|
| - "regexp"
|
|
|
| "github.com/luci/gae/impl/dummy"
|
| "github.com/luci/gae/service/info"
|
| + "github.com/luci/gae/service/info/support"
|
| +
|
| "golang.org/x/net/context"
|
| )
|
|
|
| @@ -17,9 +18,6 @@ type giContextKeyType int
|
|
|
| var giContextKey giContextKeyType
|
|
|
| -// validNamespace matches valid namespace names.
|
| -var validNamespace = regexp.MustCompile(`^[0-9A-Za-z._-]{0,100}$`)
|
| -
|
| var defaultGlobalInfoData = globalInfoData{
|
| // versionID returns X.Y where Y is autogenerated by appengine, and X is
|
| // whatever's in app.yaml.
|
| @@ -30,18 +28,11 @@ var defaultGlobalInfoData = globalInfoData{
|
| type globalInfoData struct {
|
| appID string
|
| fqAppID string
|
| - namespace *string
|
| + namespace string
|
| versionID string
|
| requestID string
|
| }
|
|
|
| -func (gid *globalInfoData) getNamespace() (string, bool) {
|
| - if ns := gid.namespace; ns != nil {
|
| - return *ns, true
|
| - }
|
| - return "", false
|
| -}
|
| -
|
| func curGID(c context.Context) *globalInfoData {
|
| if gid, ok := c.Value(giContextKey).(*globalInfoData); ok {
|
| return gid
|
| @@ -76,17 +67,15 @@ type giImpl struct {
|
|
|
| var _ = info.RawInterface((*giImpl)(nil))
|
|
|
| -func (gi *giImpl) GetNamespace() (string, bool) {
|
| - return gi.getNamespace()
|
| -}
|
| +func (gi *giImpl) GetNamespace() string { return gi.namespace }
|
|
|
| -func (gi *giImpl) Namespace(ns string) (ret context.Context, err error) {
|
| - if !validNamespace.MatchString(ns) {
|
| - return nil, fmt.Errorf("appengine: namespace %q does not match /%s/", ns, validNamespace)
|
| +func (gi *giImpl) Namespace(ns string) (context.Context, error) {
|
| + if err := support.ValidNamespace(ns); err != nil {
|
| + return gi.c, err
|
| }
|
|
|
| return useGID(gi.c, func(mod *globalInfoData) {
|
| - mod.namespace = &ns
|
| + mod.namespace = ns
|
| }), nil
|
| }
|
|
|
| @@ -114,7 +103,7 @@ func (gi *giImpl) RequestID() string {
|
| return curGID(gi.c).requestID
|
| }
|
|
|
| -func (gi *giImpl) Testable() info.Testable {
|
| +func (gi *giImpl) GetTestable() info.Testable {
|
| return gi
|
| }
|
|
|
|
|