Clean up code for loading the config

This commit is contained in:
Nise Void 2017-02-25 16:05:03 +01:00
parent 175d7513af
commit 044cb3667c
1 changed files with 27 additions and 21 deletions

48
main.go
View File

@ -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 {