Implemented configuration file functionality

For site name, port number and data directory
This commit is contained in:
2026-04-29 22:08:23 +02:00
parent 267383a45b
commit 64e5c26bc0
2 changed files with 42 additions and 3 deletions
+36
View File
@@ -0,0 +1,36 @@
package config
import (
"encoding/json"
"log"
"os"
)
type Config struct {
SiteName string `json:"site_name"`
Port string `json:"port"`
DataDir string `json:"data_dir"`
}
func Load(path string) Config {
configData := Config{
SiteName: "Unnamed Download Listing",
Port: "8080",
DataDir: "data",
}
file, err := os.Open(path)
if err != nil {
log.Println("No config file found, using defaults. Consider setting up a Site Name at the very least!")
return configData
}
defer file.Close()
// Overwrite the default configuration with data from 'file'
err = json.NewDecoder(file).Decode(&configData)
if err != nil {
log.Fatal("Config file exists but has errors:", err)
}
return configData
}