diff --git a/main.go b/main.go index a8b7eb4..121713e 100644 --- a/main.go +++ b/main.go @@ -14,28 +14,9 @@ import ( "github.com/russross/blackfriday" ) -var config struct { - Port int `json:"port"` - Template string `json:"template"` -} - func main() { - // Open config - f, err := os.Open(`config.json`) - if err != nil && !os.IsNotExist(err) { - log.Fatal(`Failed to open config. ` + err.Error()) - } - - // Set defaults - config.Port = 80 - config.Template = `template.html` - - // Parse config - if err == nil { - err = json.NewDecoder(f).Decode(&config) - if err != nil { - log.Fatal(`Could not parse config. ` + err.Error()) - } + if err := loadConfig(); err != nil { + log.Fatal(`Failed to load config. ` + err.Error()) } if err := updateTemplate(); err != nil { @@ -45,6 +26,31 @@ func main() { log.Fatal(http.ListenAndServe(":"+strconv.Itoa(config.Port), http.HandlerFunc(serveRequest))) } +var config struct { + Port int `json:"port"` + Template string `json:"template"` +} + +func loadConfig() error { + f, err := os.Open(`config.json`) + if err != nil && !os.IsNotExist(err) { + return err + } + + // Set defaults + config.Port = 80 + config.Template = `template.html` + + if err != nil { + return + } + + err = json.NewDecoder(f).Decode(&config) + if err != nil { + return err + } +} + var t *template.Template func updateTemplate() error {