aboutsummaryrefslogtreecommitdiff
path: root/cmd/server/app.go
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/server/app.go')
-rw-r--r--cmd/server/app.go42
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 {