diff options
Diffstat (limited to 'vendor/google.golang.org/appengine/namespace.go')
-rw-r--r-- | vendor/google.golang.org/appengine/namespace.go | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/vendor/google.golang.org/appengine/namespace.go b/vendor/google.golang.org/appengine/namespace.go new file mode 100644 index 0000000..21860ca --- /dev/null +++ b/vendor/google.golang.org/appengine/namespace.go | |||
@@ -0,0 +1,25 @@ | |||
1 | // Copyright 2012 Google Inc. All rights reserved. | ||
2 | // Use of this source code is governed by the Apache 2.0 | ||
3 | // license that can be found in the LICENSE file. | ||
4 | |||
5 | package appengine | ||
6 | |||
7 | import ( | ||
8 | "fmt" | ||
9 | "regexp" | ||
10 | |||
11 | "golang.org/x/net/context" | ||
12 | |||
13 | "google.golang.org/appengine/internal" | ||
14 | ) | ||
15 | |||
16 | // Namespace returns a replacement context that operates within the given namespace. | ||
17 | func Namespace(c context.Context, namespace string) (context.Context, error) { | ||
18 | if !validNamespace.MatchString(namespace) { | ||
19 | return nil, fmt.Errorf("appengine: namespace %q does not match /%s/", namespace, validNamespace) | ||
20 | } | ||
21 | return internal.NamespacedContext(c, namespace), nil | ||
22 | } | ||
23 | |||
24 | // validNamespace matches valid namespace names. | ||
25 | var validNamespace = regexp.MustCompile(`^[0-9A-Za-z._-]{0,100}$`) | ||