mirror of
https://github.com/bettercap/bettercap
synced 2025-08-20 21:43:18 -07:00
Merge pull request #601 from yungtravla/master
add boolean for dumping HTTP bodies in hex format
This commit is contained in:
commit
33797b120e
2 changed files with 26 additions and 6 deletions
|
@ -36,6 +36,7 @@ type EventsStream struct {
|
|||
quit chan bool
|
||||
dumpHttpReqs bool
|
||||
dumpHttpResp bool
|
||||
dumpFormatHex bool
|
||||
}
|
||||
|
||||
func NewEventsStream(s *session.Session) *EventsStream {
|
||||
|
@ -214,6 +215,10 @@ func NewEventsStream(s *session.Session) *EventsStream {
|
|||
"false",
|
||||
"If true all HTTP responses will be dumped."))
|
||||
|
||||
mod.AddParam(session.NewBoolParameter("events.stream.http.format.hex",
|
||||
"true",
|
||||
"If true dumped HTTP bodies will be in hexadecimal format."))
|
||||
|
||||
return mod
|
||||
}
|
||||
|
||||
|
@ -258,6 +263,8 @@ func (mod *EventsStream) Configure() (err error) {
|
|||
return err
|
||||
} else if err, mod.dumpHttpResp = mod.BoolParam("events.stream.http.response.dump"); err != nil {
|
||||
return err
|
||||
} else if err, mod.dumpFormatHex = mod.BoolParam("events.stream.http.format.hex"); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return err
|
||||
|
|
|
@ -89,12 +89,21 @@ func (mod *EventsStream) dumpGZIP(body []byte) string {
|
|||
buffer := bytes.NewBuffer(body)
|
||||
uncompressed := bytes.Buffer{}
|
||||
reader, err := gzip.NewReader(buffer)
|
||||
if mod.dumpFormatHex {
|
||||
if err != nil {
|
||||
return mod.dumpRaw(body)
|
||||
} else if _, err = uncompressed.ReadFrom(reader); err != nil {
|
||||
return mod.dumpRaw(body)
|
||||
}
|
||||
return mod.dumpRaw(uncompressed.Bytes())
|
||||
} else {
|
||||
if err != nil {
|
||||
return mod.dumpText(body)
|
||||
} else if _, err = uncompressed.ReadFrom(reader); err != nil {
|
||||
return mod.dumpText(body)
|
||||
}
|
||||
return mod.dumpText(uncompressed.Bytes())
|
||||
}
|
||||
}
|
||||
|
||||
func (mod *EventsStream) dumpJSON(body []byte) string {
|
||||
|
@ -149,7 +158,11 @@ func (mod *EventsStream) viewHttpRequest(e session.Event) {
|
|||
} else if req.IsType("application/json") {
|
||||
dump += mod.dumpJSON(req.Body)
|
||||
} else {
|
||||
if mod.dumpFormatHex {
|
||||
dump += mod.dumpRaw(req.Body)
|
||||
} else {
|
||||
dump += mod.dumpText(req.Body)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue