MCPcopy
hub / github.com/bettercap/bettercap / viewHttpRequest

Method viewHttpRequest

modules/events_stream/events_view_http.go:132–172  ·  view source on GitHub ↗
(output io.Writer, e session.Event)

Source from the content-addressed store, hash-verified

130}
131
132func (mod *EventsStream) viewHttpRequest(output io.Writer, e session.Event) {
133 se := e.Data.(net_sniff.SnifferEvent)
134 req := se.Data.(net_sniff.HTTPRequest)
135
136 fmt.Fprintf(output, "[%s] [%s] %s\n",
137 e.Time.Format(mod.timeFormat),
138 tui.Green(e.Tag),
139 se.Message)
140
141 if mod.shouldDumpHttpRequest(req) {
142 dump := fmt.Sprintf("%s %s %s\n", tui.Bold(req.Method), req.URL, tui.Dim(req.Proto))
143 dump += fmt.Sprintf("%s: %s\n", tui.Blue("Host"), tui.Yellow(req.Host))
144 for name, values := range req.Headers {
145 for _, value := range values {
146 dump += fmt.Sprintf("%s: %s\n", tui.Blue(name), tui.Yellow(value))
147 }
148 }
149
150 if req.Body != nil {
151 if req.IsType("application/x-www-form-urlencoded") {
152 dump += mod.dumpForm(req.Body)
153 } else if req.IsType("text/plain") {
154 dump += mod.dumpText(req.Body)
155 } else if req.IsType("text/xml") {
156 dump += mod.dumpXML(req.Body)
157 } else if req.IsType("gzip") {
158 dump += mod.dumpGZIP(req.Body)
159 } else if req.IsType("application/json") {
160 dump += mod.dumpJSON(req.Body)
161 } else {
162 if mod.dumpFormatHex {
163 dump += mod.dumpRaw(req.Body)
164 } else {
165 dump += mod.dumpText(req.Body)
166 }
167 }
168 }
169
170 fmt.Fprintf(output, "\n%s\n", dump)
171 }
172}
173
174func (mod *EventsStream) viewHttpResponse(output io.Writer, e session.Event) {
175 se := e.Data.(net_sniff.SnifferEvent)

Callers 1

viewHttpEventMethod · 0.95

Calls 8

shouldDumpHttpRequestMethod · 0.95
dumpFormMethod · 0.95
dumpTextMethod · 0.95
dumpXMLMethod · 0.95
dumpGZIPMethod · 0.95
dumpJSONMethod · 0.95
dumpRawMethod · 0.95
IsTypeMethod · 0.45

Tested by

no test coverage detected