Index: service/info/support/namespace.go |
diff --git a/service/info/support/namespace.go b/service/info/support/namespace.go |
new file mode 100644 |
index 0000000000000000000000000000000000000000..6cb2e90ebf5ac5a29fb6b3a0cca2a6b4e92f16f1 |
--- /dev/null |
+++ b/service/info/support/namespace.go |
@@ -0,0 +1,24 @@ |
+// Copyright 2015 The LUCI Authors. All rights reserved. |
+// Use of this source code is governed under the Apache License, Version 2.0 |
+// that can be found in the LICENSE file. |
+ |
+// Package support provides Info-related support functionality. It is designed |
+// to be used by implementing packages. |
+package support |
+ |
+import ( |
+ "fmt" |
+ "regexp" |
+) |
+ |
+// validNamespace matches valid namespace names. |
+var validNamespace = regexp.MustCompile(`^[0-9A-Za-z._-]{0,100}$`) |
+ |
+// ValidNamespace will return an error if the supplied string is not a valid |
+// namespace. |
+func ValidNamespace(ns string) error { |
+ if validNamespace.MatchString(ns) { |
+ return nil |
+ } |
+ return fmt.Errorf("appengine: namespace %q does not match /%s/", ns, validNamespace) |
+} |