aboutsummaryrefslogtreecommitdiff
path: root/vendor/github.com/fatih/structs/tags.go
diff options
context:
space:
mode:
authorNiall Sheridan <nsheridan@gmail.com>2016-10-04 14:37:01 -0700
committerNiall Sheridan <nsheridan@gmail.com>2016-10-06 22:02:39 -0500
commit17cd70cea546e287713a3d4c086528a85abefa2e (patch)
treef52ffa10f2065c47445bd6c37f07a57f68074100 /vendor/github.com/fatih/structs/tags.go
parent294020406c257ad4eb1867a1e7fb8b694aefddd2 (diff)
Add support for Hashicorp Vault
Vault is supported for the following: As a well-known filesystem for TLS cert, TLS key and SSH signing key. For configuration secrets for cookie_secret, csrf_secret, oauth_client_id and oauth_client_secret options.
Diffstat (limited to 'vendor/github.com/fatih/structs/tags.go')
-rw-r--r--vendor/github.com/fatih/structs/tags.go32
1 files changed, 32 insertions, 0 deletions
diff --git a/vendor/github.com/fatih/structs/tags.go b/vendor/github.com/fatih/structs/tags.go
new file mode 100644
index 0000000..8859341
--- /dev/null
+++ b/vendor/github.com/fatih/structs/tags.go
@@ -0,0 +1,32 @@
+package structs
+
+import "strings"
+
+// tagOptions contains a slice of tag options
+type tagOptions []string
+
+// Has returns true if the given optiton is available in tagOptions
+func (t tagOptions) Has(opt string) bool {
+ for _, tagOpt := range t {
+ if tagOpt == opt {
+ return true
+ }
+ }
+
+ return false
+}
+
+// parseTag splits a struct field's tag into its name and a list of options
+// which comes after a name. A tag is in the form of: "name,option1,option2".
+// The name can be neglectected.
+func parseTag(tag string) (string, tagOptions) {
+ // tag is one of followings:
+ // ""
+ // "name"
+ // "name,opt"
+ // "name,opt,opt2"
+ // ",opt"
+
+ res := strings.Split(tag, ",")
+ return res[0], res[1:]
+}