chore: add mercury
This commit is contained in:
37
env/env.go
vendored
37
env/env.go
vendored
@@ -9,35 +9,16 @@ import (
|
||||
"strings"
|
||||
)
|
||||
|
||||
func Default(name, defaultValue string) string {
|
||||
func Default(name, defaultValue string) (s string) {
|
||||
name = strings.TrimSpace(name)
|
||||
defaultValue = strings.TrimSpace(defaultValue)
|
||||
if v := strings.TrimSpace(os.Getenv(name)); v != "" {
|
||||
slog.Info("env", name, v)
|
||||
return v
|
||||
}
|
||||
slog.Info("env", name, defaultValue+" (default)")
|
||||
return defaultValue
|
||||
}
|
||||
s = strings.TrimSpace(defaultValue)
|
||||
|
||||
type secret string
|
||||
if v, ok := os.LookupEnv(name); ok {
|
||||
s = strings.TrimSpace(v)
|
||||
slog.Info("env", slog.String(name, v))
|
||||
return
|
||||
}
|
||||
|
||||
func (s secret) String() string {
|
||||
if s == "" {
|
||||
return "(nil)"
|
||||
}
|
||||
return "***"
|
||||
}
|
||||
func (s secret) Secret() string {
|
||||
return string(s)
|
||||
}
|
||||
func Secret(name, defaultValue string) secret {
|
||||
name = strings.TrimSpace(name)
|
||||
defaultValue = strings.TrimSpace(defaultValue)
|
||||
if v := strings.TrimSpace(os.Getenv(name)); v != "" {
|
||||
slog.Info("env", name, secret(v))
|
||||
return secret(v)
|
||||
}
|
||||
slog.Info("env", name, secret(defaultValue).String()+" (default)")
|
||||
return secret(defaultValue)
|
||||
slog.Info("env", slog.String(name, s+" (default)"))
|
||||
return
|
||||
}
|
||||
|
||||
35
env/secret.go
vendored
Normal file
35
env/secret.go
vendored
Normal file
@@ -0,0 +1,35 @@
|
||||
package env
|
||||
|
||||
import (
|
||||
"os"
|
||||
"log/slog"
|
||||
"strings"
|
||||
)
|
||||
|
||||
type secret string
|
||||
|
||||
func (s secret) String() string {
|
||||
if s == "" {
|
||||
return "(nil)"
|
||||
}
|
||||
return "***"
|
||||
}
|
||||
|
||||
func (s secret) Secret() string {
|
||||
return string(s)
|
||||
}
|
||||
|
||||
func Secret(name, defaultValue string) (s secret) {
|
||||
name = strings.TrimSpace(name)
|
||||
s = secret(strings.TrimSpace(defaultValue))
|
||||
|
||||
if v, ok := os.LookupEnv(name); ok {
|
||||
s = secret(strings.TrimSpace(v))
|
||||
slog.Info("env", slog.String(name, s.String()))
|
||||
return
|
||||
}
|
||||
|
||||
slog.Info("env", slog.String(name, s.String()+" (default)"))
|
||||
return
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user