refresh handler

This commit is contained in:
2026-04-15 14:13:28 -06:00
parent bbaa6396b0
commit 58f9093406
5 changed files with 59 additions and 1 deletions
+34
View File
@@ -1,5 +1,11 @@
package main
import (
"fmt"
"github.com/BurntSushi/toml"
)
type Config struct {
MirrorRoot string
MirrorURL string
@@ -19,3 +25,31 @@ func NewConfig() *Config {
Auth: AuthConfig{Token: "FakeToken"},
}
}
func ReadConfig(path string) (*Config, error) {
var cfg Config
_, err := toml.DecodeFile(path, &cfg)
if err != nil {
return nil, fmt.Errorf("Error loading config from %s: %w", path, err)
}
if err = cfg.validate(); err != nil {
return nil, fmt.Errorf("invalid config: %w", err)
}
return &cfg, nil
}
func (c *Config) validate() error {
if c.MirrorRoot == "" {
return fmt.Errorf("cache root is required")
}
if c.MirrorURL == "" {
return fmt.Errorf("mirror url is required")
}
if c.Port == "" {
c.Port = "8090"
}
return nil
}