123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- package env
- import (
- "fmt"
- "os"
- "strings"
- "github.com/cnlh/nps/vender/github.com/astaxie/beego/utils"
- )
- var env *utils.BeeMap
- func init() {
- env = utils.NewBeeMap()
- for _, e := range os.Environ() {
- splits := strings.Split(e, "=")
- env.Set(splits[0], os.Getenv(splits[0]))
- }
- }
- func Get(key string, defVal string) string {
- if val := env.Get(key); val != nil {
- return val.(string)
- }
- return defVal
- }
- func MustGet(key string) (string, error) {
- if val := env.Get(key); val != nil {
- return val.(string), nil
- }
- return "", fmt.Errorf("no env variable with %s", key)
- }
- func Set(key string, value string) {
- env.Set(key, value)
- }
- func MustSet(key string, value string) error {
- err := os.Setenv(key, value)
- if err != nil {
- return err
- }
- env.Set(key, value)
- return nil
- }
- func GetAll() map[string]string {
- items := env.Items()
- envs := make(map[string]string, env.Count())
- for key, val := range items {
- switch key := key.(type) {
- case string:
- switch val := val.(type) {
- case string:
- envs[key] = val
- }
- }
- }
- return envs
- }
|