• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

sunshineplan / gohttp / 17460625262

04 Sep 2025 10:13AM UTC coverage: 66.586% (-1.2%) from 67.81%
17460625262

push

github

web-flow
Implement debugging feature (#43)

23 of 43 new or added lines in 3 files covered. (53.49%)

275 of 413 relevant lines covered (66.59%)

3.93 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

72.73
/debug.go
1
package gohttp
2

3
import (
4
        "bytes"
5
        "io"
6
        "net/http"
7
        "net/http/httputil"
8
        "regexp"
9
)
10

11
type debugger struct {
12
        rt       http.RoundTripper
13
        w        io.Writer
14
        reqBody  bool
15
        respBody bool
16
}
17

18
func (t *debugger) RoundTrip(req *http.Request) (*http.Response, error) {
4✔
19
        if t.rt == nil {
5✔
20
                t.rt = http.DefaultTransport
1✔
21
        }
1✔
22
        reqBody, err := httputil.DumpRequestOut(req, t.reqBody)
4✔
23
        if err != nil {
4✔
NEW
24
                return nil, err
×
NEW
25
        }
×
26
        res, err := t.rt.RoundTrip(req)
4✔
27
        if err != nil {
4✔
NEW
28
                return nil, err
×
NEW
29
        }
×
30
        respBody, err := httputil.DumpResponse(res, t.respBody)
4✔
31
        if err != nil {
4✔
NEW
32
                return nil, err
×
NEW
33
        }
×
34
        t.Write("-> ", reqBody)
4✔
35
        t.Write("<- ", respBody)
4✔
36
        return res, nil
4✔
37
}
38

39
var lineStart = regexp.MustCompile(`(?m)^`)
40

41
func (w *debugger) Write(prefix string, buf []byte) {
8✔
42
        w.w.Write(append(lineStart.ReplaceAll(bytes.TrimSpace(buf), []byte(prefix)), '\n', '\n'))
8✔
43
}
8✔
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc