A shared/http/responsewriter.go+package http
+
+import (
+ "net/http"
+)
+
+type StatusCapturingResponseWriter struct {
+ http.ResponseWriter
+ Status int
+}
+
+func NewStatusCapturingResponseWriter(w http.ResponseWriter) *StatusCapturingResponseWriter {
+ return &StatusCapturingResponseWriter{w, http.StatusOK}
+}
+
+func (w *StatusCapturingResponseWriter) WriteHeader(code int) {
+ w.Status = code
+ w.ResponseWriter.WriteHeader(code)
+}