diff options
Diffstat (limited to 'cmd/server/app.go')
| -rw-r--r-- | cmd/server/app.go | 42 |
1 files changed, 22 insertions, 20 deletions
diff --git a/cmd/server/app.go b/cmd/server/app.go index c694753..a8d1ce8 100644 --- a/cmd/server/app.go +++ b/cmd/server/app.go @@ -39,25 +39,7 @@ type App struct { FeedPrefix string } -func newApp() *App { - return &App{} -} - -func loadConf(fn string) (*App, error) { - fh, err := os.Open(fn) - if err != nil { - return nil, fmt.Errorf("loading config: %w", err) - } - - dec := yaml.NewDecoder(fh) - - app := newApp() - - err = dec.Decode(app) - if err != nil { - return nil, fmt.Errorf("decoding yaml: %w", err) - } - +func (app *App) setDefaults() { if app.StaticDirectory == "" { app.StaticDirectory = "static" } @@ -85,8 +67,28 @@ func loadConf(fn string) (*App, error) { page.Global = map[string]interface{}{ "App": app, } +} + +func loadConf(fn string) (*App, error) { + var dec *yaml.Decoder + app := &App{} + + fh, err := os.Open(fn) + if err != nil { + err = fmt.Errorf("loading config: %w", err) + goto loadConfRet + } + + dec = yaml.NewDecoder(fh) + + err = dec.Decode(app) + if err != nil { + err = fmt.Errorf("decoding yaml: %w", err) + } - return app, nil +loadConfRet: + app.setDefaults() + return app, err } func (a *App) ClearCache() error { |
