mirror of
https://github.com/imgproxy/imgproxy.git
synced 2025-09-27 20:17:20 +02:00
39 lines
657 B
Go
39 lines
657 B
Go
package loadenv
|
|
|
|
import (
|
|
"fmt"
|
|
"os"
|
|
|
|
"github.com/DarthSim/godotenv"
|
|
)
|
|
|
|
func loadLocalFile() error {
|
|
path := os.Getenv("IMGPROXY_ENV_LOCAL_FILE_PATH")
|
|
|
|
if len(path) == 0 {
|
|
return nil
|
|
}
|
|
|
|
data, err := os.ReadFile(path)
|
|
if err != nil {
|
|
return fmt.Errorf("Can't read local environment file: %s", err)
|
|
}
|
|
|
|
if len(data) == 0 {
|
|
return nil
|
|
}
|
|
|
|
envmap, err := godotenv.Unmarshal(string(data))
|
|
if err != nil {
|
|
return fmt.Errorf("Can't parse config from local file: %s", err)
|
|
}
|
|
|
|
for k, v := range envmap {
|
|
if err = os.Setenv(k, v); err != nil {
|
|
return fmt.Errorf("Can't set %s env variable from local file: %s", k, err)
|
|
}
|
|
}
|
|
|
|
return nil
|
|
}
|