/* * Copyright (C) 2023 Jonni Liljamo * * This file is licensed under GPL-3.0-or-later, see NOTICE and LICENSE for * more information. */ package util import ( "log" "os" "strconv" ) func LoadEnvStr(key string, def string) string { value, found := os.LookupEnv(key) if found { return value } if def == "" { log.Fatalf("[erya] Environment variable %s is empty, and has no default", key) } else { log.Printf("[erya] Environment variable %s is empty, using default '%s'", key, def) } return def } func LoadEnvInt32(key string, def int32) int32 { value, found := os.LookupEnv(key) if found { res, err := strconv.ParseInt(value, 10, 32) if err != nil { log.Fatalf("[erya] Environment variable %s failed to parse to int32 from '%s'", key, value) } return int32(res) } log.Printf("[erya] Environment variable %s is empty, using default '%d'", key, def) return def } func LoadEnvBool(key string, def bool) bool { value, found := os.LookupEnv(key) if found { res, err := strconv.ParseBool(value) if err != nil { log.Fatalf("[erya] Environment variable %s failed to parse to bool from '%s'", key, value) } return res } log.Printf("[erya] Environment variable %s is empty, using default '%t'", key, def) return def }