refresh handler
This commit is contained in:
@@ -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
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user