diff options
| author | Felix Hanley <felix@userspace.com.au> | 2020-02-20 02:55:05 +0000 |
|---|---|---|
| committer | Felix Hanley <felix@userspace.com.au> | 2020-02-20 02:55:05 +0000 |
| commit | dcc9d4bf599eeeffee615cf198b2b74734bcaa48 (patch) | |
| tree | 1e5173e89989db8f75d8f85d067270bab04afde3 /cmd | |
| parent | cc933f411e5d40c16bf07e80a20ded70a26a6a64 (diff) | |
| download | sws-dcc9d4bf599eeeffee615cf198b2b74734bcaa48.tar.gz sws-dcc9d4bf599eeeffee615cf198b2b74734bcaa48.tar.bz2 | |
Change counter API
Diffstat (limited to 'cmd')
| -rw-r--r-- | cmd/server/helpers.go | 5 | ||||
| -rw-r--r-- | cmd/server/main.go | 1 | ||||
| -rw-r--r-- | cmd/server/sites.go | 21 |
3 files changed, 15 insertions, 12 deletions
diff --git a/cmd/server/helpers.go b/cmd/server/helpers.go index 3038b91..f3733c5 100644 --- a/cmd/server/helpers.go +++ b/cmd/server/helpers.go @@ -33,6 +33,11 @@ var funcMap = template.FuncMap{ }, } +func httpError(w http.ResponseWriter, code int, msg string) { + log(msg) + http.Error(w, http.StatusText(500), 500) +} + func extractTimeRange(r *http.Request) (*time.Time, *time.Time) { begin := timePtr(time.Now().Round(time.Hour).Add(-168 * time.Hour)) end := timePtr(time.Now()) diff --git a/cmd/server/main.go b/cmd/server/main.go index 24a706e..7f9041e 100644 --- a/cmd/server/main.go +++ b/cmd/server/main.go @@ -148,7 +148,6 @@ func main() { r.Get("/*", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { p := strings.TrimPrefix(r.URL.Path, "/") - log("serving", p) if b, err := StaticLoadTemplate(p); err == nil { name := filepath.Base(p) http.ServeContent(w, r, name, time.Now(), bytes.NewReader(b)) diff --git a/cmd/server/sites.go b/cmd/server/sites.go index 59bb1f0..d59eb1c 100644 --- a/cmd/server/sites.go +++ b/cmd/server/sites.go @@ -11,8 +11,8 @@ func handleSites(db sws.SiteStore, rndr Renderer) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { sites, err := db.GetSites() if err != nil { - log(err) - http.Error(w, http.StatusText(500), 500) + httpError(w, 500, err.Error()) + return } payload := struct { Sites []*sws.Site @@ -20,8 +20,8 @@ func handleSites(db sws.SiteStore, rndr Renderer) http.HandlerFunc { Sites: sites, } if err := rndr.Render(w, "sites", payload); err != nil { - log(err) - http.Error(w, http.StatusText(500), 500) + httpError(w, 500, err.Error()) + return } } } @@ -31,14 +31,12 @@ func handleSite(db sws.SiteStore, rndr Renderer) http.HandlerFunc { ctx := r.Context() site, ok := ctx.Value("site").(*sws.Site) if !ok { - log("no site in context") - http.Error(w, http.StatusText(422), 422) + httpError(w, 422, "no site in context") return } begin, end := extractTimeRange(r) if begin == nil || end == nil { - log("invalid time range") - http.Error(w, http.StatusText(406), 406) + httpError(w, 406, "invalid time range") return } @@ -47,7 +45,8 @@ func handleSite(db sws.SiteStore, rndr Renderer) http.HandlerFunc { "end": *end, }) if err != nil { - log(err) + httpError(w, 500, err.Error()) + return } pages := sws.PagesFromHits(hits) @@ -68,8 +67,8 @@ func handleSite(db sws.SiteStore, rndr Renderer) http.HandlerFunc { Hits: buckets, } if err := rndr.Render(w, "site", payload); err != nil { - log(err) - http.Error(w, http.StatusText(500), 500) + httpError(w, 500, err.Error()) + return } } } |
