From f94fa6cec8d1b5e3dfe7cf9217a80bfa8573fb5b Mon Sep 17 00:00:00 2001 From: Ada Date: Wed, 1 May 2024 19:19:05 +0200 Subject: [PATCH] =?UTF-8?q?=E2=8F=AA=EF=B8=8F=20Revert=20dotenv=20removal?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- go.mod | 1 + go.sum | 2 ++ internal/config/config.go | 9 +++++++++ internal/utils/utils.go | 9 +++++++++ 4 files changed, 21 insertions(+) diff --git a/go.mod b/go.mod index a59dedb..feb4209 100644 --- a/go.mod +++ b/go.mod @@ -3,6 +3,7 @@ module git.gnous.eu/gnouseu/plakken go 1.22 require ( + github.com/joho/godotenv v1.5.1 github.com/redis/go-redis/v9 v9.5.1 golang.org/x/crypto v0.22.0 ) diff --git a/go.sum b/go.sum index 6a77c48..b608713 100644 --- a/go.sum +++ b/go.sum @@ -6,6 +6,8 @@ github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UF github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f h1:lO4WD4F/rVNCu3HqELle0jiPLLBs70cWOduZpkS1E78= github.com/dgryski/go-rendezvous v0.0.0-20200823014737-9f7001d12a5f/go.mod h1:cuUVRXasLTGF7a8hSLbxyZXjz+1KgoB3wDUb6vlszIc= +github.com/joho/godotenv v1.5.1 h1:7eLL/+HRGLY0ldzfGMeQkb7vMd0as4CfYvUVzLqw0N0= +github.com/joho/godotenv v1.5.1/go.mod h1:f4LDr5Voq0i2e/R5DDNOoa2zzDfwtkZa6DnEwAbqwq4= github.com/redis/go-redis/v9 v9.5.1 h1:H1X4D3yHPaYrkL5X06Wh6xNVM/pX0Ft4RV0vMGvLBh8= github.com/redis/go-redis/v9 v9.5.1/go.mod h1:hdY0cQFCN4fnSYT6TkisLufl/4W5UIXyv0b/CLO2V2M= golang.org/x/crypto v0.22.0 h1:g1v0xeRhjcugydODzvb3mEM9SQ0HGp9s/nh3COQ/C30= diff --git a/internal/config/config.go b/internal/config/config.go index 5d70b4d..62ac41a 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -6,6 +6,8 @@ import ( "strconv" "git.gnous.eu/gnouseu/plakken/internal/constant" + "git.gnous.eu/gnouseu/plakken/internal/utils" + "github.com/joho/godotenv" ) // InitConfig Structure for program initialisation. @@ -20,6 +22,13 @@ type InitConfig struct { // GetConfig Initialise configuration form .env. func GetConfig() InitConfig { + if utils.FileExist(".env") { + err := godotenv.Load() + if err != nil { + log.Fatalf("Error loading .env file: %v", err) + } + } + listenAddress := os.Getenv("PLAKKEN_LISTEN") redisAddress := os.Getenv("PLAKKEN_REDIS_ADDRESS") db := os.Getenv("PLAKKEN_REDIS_DB") diff --git a/internal/utils/utils.go b/internal/utils/utils.go index e18d6fb..ecba2b5 100644 --- a/internal/utils/utils.go +++ b/internal/utils/utils.go @@ -1,8 +1,10 @@ package utils import ( + "errors" "log" mathrand "math/rand/v2" + "os" "regexp" "strconv" "strings" @@ -106,3 +108,10 @@ func ValidKey(key string) bool { return result } + +// FileExist verify if a file exist. +func FileExist(path string) bool { + _, err := os.Stat(path) + + return !errors.Is(err, os.ErrNotExist) +}