Detailed changes
@@ -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
@@ -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)
+ }
}
@@ -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)
+ }
}
@@ -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()
}
@@ -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)
+ }
}
}
@@ -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.")
@@ -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)
+ }
}
@@ -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" {
@@ -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)
+ }
}