simplify analytics middleware
2 files changed, 14 insertions(+), 16 deletions(-)
changed files
M domain/analytics/middleware.go → domain/analytics/middleware.go
@@ -21,23 +21,21 @@ return key, ok } -func CounterMiddleware(counter Counter) func(http.Handler) http.Handler { - return func(next http.Handler) http.Handler { - return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - rw := sharedhttp.NewStatusCapturingResponseWriter(w) +func CounterMiddleware(counter Counter, next http.Handler) http.Handler { + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + rw := sharedhttp.NewStatusCapturingResponseWriter(w) - next.ServeHTTP(rw, r) + next.ServeHTTP(rw, r) - title, ok := GetTitle(r) - if !ok { - if rw.Status >= 201 { - title = http.StatusText(rw.Status) - } + title, ok := GetTitle(r) + if !ok { + if rw.Status >= 201 { + title = http.StatusText(rw.Status) } + } - if rw.Status <= 299 { - counter.Count(r, title) - } - }) - } + if rw.Status <= 299 { + counter.Count(r, title) + } + }) }
M domain/web/website.go → domain/web/website.go
@@ -198,7 +198,7 @@ mux.HandleFunc("/style.css", staticHandler) } - website.Handler = analytics.CounterMiddleware(website.counter)(mux) + website.Handler = analytics.CounterMiddleware(website.counter, mux) return website, nil }