Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1046)

Unified Diff: service/info/support/namespace.go

Issue 2302743002: Interface update, per-method Contexts. (Closed)
Patch Set: Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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}$`)
dnj 2016/09/01 15:25:40 Added this package b/c both impl/memory and impl/c
iannucci 2016/09/16 01:01:14 maybe it should move to service/datastore?
dnj 2016/09/16 05:44:43 I think namespace is a concept owned by "info" ser
+
+// 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)
+}

Powered by Google App Engine
This is Rietveld 408576698