aboutsummaryrefslogtreecommitdiffstats
path: root/library/go/httputil/headers/authorization.go
diff options
context:
space:
mode:
authorhcpp <hcpp@ydb.tech>2023-11-08 12:09:41 +0300
committerhcpp <hcpp@ydb.tech>2023-11-08 12:56:14 +0300
commita361f5b98b98b44ea510d274f6769164640dd5e1 (patch)
treec47c80962c6e2e7b06798238752fd3da0191a3f6 /library/go/httputil/headers/authorization.go
parent9478806fde1f4d40bd5a45e7cbe77237dab613e9 (diff)
downloadydb-a361f5b98b98b44ea510d274f6769164640dd5e1.tar.gz
metrics have been added
Diffstat (limited to 'library/go/httputil/headers/authorization.go')
-rw-r--r--library/go/httputil/headers/authorization.go31
1 files changed, 31 insertions, 0 deletions
diff --git a/library/go/httputil/headers/authorization.go b/library/go/httputil/headers/authorization.go
new file mode 100644
index 0000000000..145e04f931
--- /dev/null
+++ b/library/go/httputil/headers/authorization.go
@@ -0,0 +1,31 @@
+package headers
+
+import "strings"
+
+const (
+ AuthorizationKey = "Authorization"
+
+ TokenTypeBearer TokenType = "bearer"
+ TokenTypeMAC TokenType = "mac"
+)
+
+type TokenType string
+
+// String implements stringer interface
+func (tt TokenType) String() string {
+ return string(tt)
+}
+
+func AuthorizationTokenType(token string) TokenType {
+ if len(token) > len(TokenTypeBearer) &&
+ strings.ToLower(token[:len(TokenTypeBearer)]) == TokenTypeBearer.String() {
+ return TokenTypeBearer
+ }
+
+ if len(token) > len(TokenTypeMAC) &&
+ strings.ToLower(token[:len(TokenTypeMAC)]) == TokenTypeMAC.String() {
+ return TokenTypeMAC
+ }
+
+ return TokenType("unknown")
+}