MCPcopy
hub / github.com/monasticacademy/httptap / WriteTo

Method WriteTo

experiments/goproxy/goproxy-experiment.go:77–105  ·  view source on GitHub ↗
(w io.Writer)

Source from the content-addressed store, hash-verified

75}
76
77func (m *Meta) WriteTo(w io.Writer) (nr int64, err error) {
78 if m.req != nil {
79 fprintf(&nr, &err, w, "Type: request\r\n")
80 } else if m.resp != nil {
81 fprintf(&nr, &err, w, "Type: response\r\n")
82 }
83 fprintf(&nr, &err, w, "ReceivedAt: %v\r\n", m.t)
84 fprintf(&nr, &err, w, "Session: %d\r\n", m.sess)
85 fprintf(&nr, &err, w, "From: %v\r\n", m.from)
86 if m.err != nil {
87 // note the empty response
88 fprintf(&nr, &err, w, "Error: %v\r\n\r\n\r\n\r\n", m.err)
89 } else if m.req != nil {
90 fprintf(&nr, &err, w, "\r\n")
91 buf, err2 := httputil.DumpRequest(m.req, false)
92 if err2 != nil {
93 return nr, err2
94 }
95 write(&nr, &err, w, buf)
96 } else if m.resp != nil {
97 fprintf(&nr, &err, w, "\r\n")
98 buf, err2 := httputil.DumpResponse(m.resp, false)
99 if err2 != nil {
100 return nr, err2
101 }
102 write(&nr, &err, w, buf)
103 }
104 return
105}
106
107// HttpLogger is an asynchronous HTTP request/response logger. It traces
108// requests and responses headers in a "log" file in logger directory and dumps

Callers 1

NewLoggerFunction · 0.80

Calls 2

fprintfFunction · 0.85
writeFunction · 0.85

Tested by

no test coverage detected