| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899 |
- package env
- import (
- "os"
- "strconv"
- "github.com/bytedance/sonic"
- "github.com/labring/aiproxy/core/common/conv"
- log "github.com/sirupsen/logrus"
- )
- func Bool(env string, defaultValue bool) bool {
- if env == "" {
- return defaultValue
- }
- e := os.Getenv(env)
- if e == "" {
- return defaultValue
- }
- p, err := strconv.ParseBool(e)
- if err != nil {
- log.Errorf("invalid %s: %s", env, e)
- return defaultValue
- }
- return p
- }
- func Int64(env string, defaultValue int64) int64 {
- if env == "" {
- return defaultValue
- }
- e := os.Getenv(env)
- if e == "" {
- return defaultValue
- }
- num, err := strconv.ParseInt(e, 10, 64)
- if err != nil {
- log.Errorf("invalid %s: %s", env, e)
- return defaultValue
- }
- return num
- }
- func Float64(env string, defaultValue float64) float64 {
- if env == "" {
- return defaultValue
- }
- e := os.Getenv(env)
- if e == "" {
- return defaultValue
- }
- num, err := strconv.ParseFloat(e, 64)
- if err != nil {
- log.Errorf("invalid %s: %s", env, e)
- return defaultValue
- }
- return num
- }
- func String(env, defaultValue string) string {
- if env == "" {
- return defaultValue
- }
- e := os.Getenv(env)
- if e == "" {
- return defaultValue
- }
- return e
- }
- func JSON[T any](env string, defaultValue T) T {
- if env == "" {
- return defaultValue
- }
- e := os.Getenv(env)
- if e == "" {
- return defaultValue
- }
- var t T
- if err := sonic.Unmarshal(conv.StringToBytes(e), &t); err != nil {
- log.Errorf("invalid %s: %s", env, e)
- return defaultValue
- }
- return t
- }
|