|
1 | 1 | package config
|
2 | 2 |
|
3 | 3 | import (
|
| 4 | + "fmt" |
4 | 5 | "log"
|
5 | 6 | "os"
|
6 | 7 |
|
7 | 8 | "github.com/joho/godotenv"
|
8 | 9 | )
|
9 | 10 |
|
10 | 11 | var ConfigFiles =[]string{
|
11 |
| - ".env", |
12 | 12 | "/var/lib/vilesql/.env",
|
| 13 | + ".env", |
13 | 14 | }
|
14 | 15 |
|
15 |
| -func GetValue(key string) string { |
16 |
| - var configFile string |
17 |
| - for _, file := range ConfigFiles { |
| 16 | +func getConfigFile() (string, error){ |
| 17 | + var count = 0 |
| 18 | + for count < len(ConfigFiles) { |
| 19 | + file := ConfigFiles[count] |
18 | 20 | if _, err := os.Stat(file); err == nil {
|
19 |
| - configFile = file |
20 |
| - break |
21 |
| - } else { |
22 |
| - log.Printf("Error accessing configuration file %s: %v", file, err) |
| 21 | + return file, nil |
23 | 22 | }
|
| 23 | + count++ |
24 | 24 | }
|
25 |
| - err := godotenv.Load(configFile) |
| 25 | + return "", fmt.Errorf("⚠️ Warning: using default variables") |
| 26 | +} |
| 27 | + |
| 28 | +func GetValue(key string) string { |
| 29 | + var configFile, err = getConfigFile() |
26 | 30 | if err != nil {
|
27 |
| - log.Printf("⚠️ Warning: %s, using default variables", err.Error()) |
| 31 | + log.Printf("%s", err.Error()) |
| 32 | + godotenv.Load() |
| 33 | + |
| 34 | + // Set default values if variables are missing |
| 35 | + setDefaultEnv("SESSION_KEY", "default-session-key") |
| 36 | + setDefaultEnv("COOKIE_STORE_KEY", "default-cookie-key") |
| 37 | + log.Printf("key: %s value: %s, Config File: %s", key, os.Getenv(key), configFile) |
| 38 | + return os.Getenv(key) |
28 | 39 | }
|
29 |
| - // Set default values if variables are missing |
30 |
| - setDefaultEnv("SESSION_KEY", "default-session-key") |
31 |
| - setDefaultEnv("COOKIE_STORE_KEY", "default-cookie-key") |
| 40 | + godotenv.Load(configFile) |
| 41 | + log.Printf("key: %s value: %s, Config File: %s", key, os.Getenv(key), configFile) |
32 | 42 | return os.Getenv(key)
|
33 | 43 | }
|
34 | 44 |
|
|
0 commit comments