func (h LoggedHandler) ServeHTTP(w http.ResponseWriter, req *http.Request) { if dump, err := httputil.DumpRequest(req, true); err != nil { logrus.Errorf("Failed to log request:\n%s", err) } else { logrus.Info(string(dump)) } buf := new(httpbuf.Buffer) h.Handler.ServeHTTP(buf, req) logrus.Infof("response: %s", buf.String()) buf.Apply(w) }