diff --git a/config.go b/config.go index 33b941dd91b41dae59d486dad46bbd4da4c989fa..36a57258ca0fc8ac909f73a477e5d56a40daa636 100644 --- a/config.go +++ b/config.go @@ -11,6 +11,9 @@ import ( yaml "gopkg.in/yaml.v2" ) +// parseConfig takes the path to a config file as its own argument, attempts to +// parse it and write the values to the internal config struct, and exits with +// an error if it fails. func (m *model) parseConfig(configFile *string) { configBytes, err := os.ReadFile(*configFile) if err != nil { @@ -22,6 +25,9 @@ func (m *model) parseConfig(configFile *string) { os.Exit(0) } err = yaml.Unmarshal(configBytes, m) + if err != nil { + log.Fatalln("Error parsing config file:", err) + } } // writeDefaultConfig takes a config file path as its argument and writes the diff --git a/createHandler.go b/createHandler.go index 4283f1c2a57b2d1823f66706d7a71dfeb4429087..84ea1d058b472896114a89de034648f68244b388 100644 --- a/createHandler.go +++ b/createHandler.go @@ -43,5 +43,8 @@ func (m *model) createHandler(writer http.ResponseWriter, request *http.Request) response := m.create(name, url) - writer.Write([]byte(response)) + _, err := writer.Write([]byte(response)) + if err != nil { + log.Println(err) + } } diff --git a/deleteHandler.go b/deleteHandler.go index 7363741362354e1e8d8ebf847f6cce667648c6d9..1255f89f4ed9775901aa72adc3b1394b2a0465e2 100644 --- a/deleteHandler.go +++ b/deleteHandler.go @@ -5,6 +5,7 @@ package main import ( + "log" "net/http" "strings" ) @@ -27,5 +28,8 @@ func (m *model) deleteHandler(writer http.ResponseWriter, request *http.Request) response := m.delete(name) - writer.Write([]byte(response)) + _, err := writer.Write([]byte(response)) + if err != nil { + log.Println(err) + } } diff --git a/helperfuncs.go b/helperfuncs.go index 63c91a7b296cf7b67c380028f420e6669a4fa8e8..68eab55ce335872306ef942bdfd37ebf44c8d060 100644 --- a/helperfuncs.go +++ b/helperfuncs.go @@ -60,10 +60,7 @@ func (m model) nameExists(name string) bool { } return nil }) - if err == nil { - return true - } - return false + return err == nil } // unauthenticated serves the unauthenticated home page to the visitor @@ -82,8 +79,14 @@ func (m model) authenticated() string { log.Fatalln(err) } tmpl, err := template.New("authenticated").Parse(string(dash)) + if err != nil { + log.Println(err) + } page := new(strings.Builder) - tmpl.Execute(page, m.genTable()) + err = tmpl.Execute(page, m.genTable()) + if err != nil { + log.Println(err) + } return page.String() } @@ -100,7 +103,13 @@ func (m model) edit(name string, url string) string { log.Fatalln(err) } tmpl, err := template.New("editPage").Parse(string(editPage)) + if err != nil { + log.Println(err) + } page := new(strings.Builder) - tmpl.Execute(page, fields) + err = tmpl.Execute(page, fields) + if err != nil { + log.Println(err) + } return page.String() } diff --git a/login.go b/login.go index d682cc7884d8179b58e573610191e250e1936b72..eee514be94992d391f18f82bf05a167d5685b81e 100644 --- a/login.go +++ b/login.go @@ -6,6 +6,7 @@ package main import ( "io" + "log" "net/http" "time" ) @@ -21,6 +22,9 @@ func (m model) login(writer http.ResponseWriter, request *http.Request) { if err != nil { http.Error(writer, "500 Internal Server Error: "+err.Error(), 500) } - io.WriteString(writer, string(login)) + _, err = io.WriteString(writer, string(login)) + if err != nil { + log.Println(err) + } } } diff --git a/main.go b/main.go index 79d71a860d7ce3f4dd159003f18ad4fab57f8dc9..d185535caff3897dc713e9a5215dd0e871789939 100644 --- a/main.go +++ b/main.go @@ -29,7 +29,7 @@ type model struct { func (m *model) init() { flag.Parse() log.Println("Reading config at", *flagConfig) - m.parseConfig(&*flagConfig) + m.parseConfig(flagConfig) log.Println("Listening on", m.Listen) if m.AccessToken == "CHANGEME" { log.Fatalln("Access token *must* be changed.") diff --git a/readHandler.go b/readHandler.go index 85f813b052ff3bb94d1e47316c47cd5a16395e5b..beaf4f8087a6eacc1c408d13aaf615c8a38b6f43 100644 --- a/readHandler.go +++ b/readHandler.go @@ -50,5 +50,8 @@ func (m model) readHandler(writer http.ResponseWriter, request *http.Request) { if err != nil { log.Println(err) } - writer.Write(json) + _, err = writer.Write(json) + if err != nil { + log.Println(err) + } } diff --git a/root.go b/root.go index 174ecf384a75a97f55c669d7254fa2a91ea3cf2e..9f3f0c72c902eea7d1c7b6331d7d0f0b48748d45 100644 --- a/root.go +++ b/root.go @@ -33,14 +33,20 @@ func (m model) root(writer http.ResponseWriter, request *http.Request) { return err }) if err != nil { - io.WriteString(writer, string(err.Error())) + _, err = io.WriteString(writer, string(err.Error())) + if err != nil { + log.Println(err) + } } return } cookie, err := request.Cookie("access_token") if err != nil || cookie.Value != m.AccessToken { - io.WriteString(writer, unauthenticated()) + _, err = io.WriteString(writer, unauthenticated()) + if err != nil { + log.Println(err) + } return } @@ -48,7 +54,10 @@ func (m model) root(writer http.ResponseWriter, request *http.Request) { action := query.Get("action") if len(action) == 0 { - io.WriteString(writer, m.authenticated()) + _, err = io.WriteString(writer, m.authenticated()) + if err != nil { + log.Println(err) + } } destination := query.Get("url") @@ -83,7 +92,10 @@ func (m model) root(writer http.ResponseWriter, request *http.Request) { } if action == "edit" { - io.WriteString(writer, m.edit(name, destination)) + _, err = io.WriteString(writer, m.edit(name, destination)) + if err != nil { + log.Println(err) + } } if action == "update" { diff --git a/updateHandler.go b/updateHandler.go index 81be905933e1a3956ba62426d048505b14747dcb..efc0704ba87a88e8de288e4fdceea8c161900db5 100644 --- a/updateHandler.go +++ b/updateHandler.go @@ -5,6 +5,7 @@ package main import ( + "log" "net/http" "strings" ) @@ -48,5 +49,8 @@ func (m *model) updateHandler(writer http.ResponseWriter, request *http.Request) response := m.update(name, destination, oldName) - writer.Write([]byte(response)) + _, err := writer.Write([]byte(response)) + if err != nil { + log.Println(err) + } }