feat: load config from file

This commit is contained in:
2026-02-15 19:50:22 +01:00
parent 336388041e
commit 088f4a55e5

View File

@@ -1,16 +1,49 @@
package config package config
import (
"encoding/json"
"fmt"
"os"
)
type Config struct { type Config struct {
NetInterface string NetInterface string `json:"net_interface"`
Htdocs string Htdocs string `json:"htdocs"`
Profile bool Profile bool `json:"profile"`
} }
var static_config *Config = nil
func GetConfig() *Config { func GetConfig() *Config {
//TODO: Load config from file if static_config != nil {
return static_config
}
file, err := os.Open("config.json")
if err != nil {
fmt.Println("No config file found")
return &Config{ return &Config{
NetInterface: "127.0.0.1:80", NetInterface: "127.0.0.1:80",
Htdocs: "./htdocs", Htdocs: "./htdocs",
Profile: false, Profile: false,
} }
}
defer file.Close()
var config Config
err = json.NewDecoder(file).Decode(&config)
if err != nil {
fmt.Println("Error decoding config file:", err)
return &Config{
NetInterface: "127.0.0.1:80",
Htdocs: "./htdocs",
Profile: false,
}
}
static_config = &config
return &config
}
func ResetConfig() {
static_config = nil
} }