From 5ab45693c5412192d121a94cdd86031f6383cd21 Mon Sep 17 00:00:00 2001 From: yungtravla Date: Thu, 1 Aug 2019 17:45:16 +1000 Subject: [PATCH] add boolean for dumping HTTP bodies in hex format --- modules/events_stream/events_view_http.go | 25 +++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) diff --git a/modules/events_stream/events_view_http.go b/modules/events_stream/events_view_http.go index 55c721be..af32a727 100644 --- a/modules/events_stream/events_view_http.go +++ b/modules/events_stream/events_view_http.go @@ -89,12 +89,21 @@ func (mod *EventsStream) dumpGZIP(body []byte) string { buffer := bytes.NewBuffer(body) uncompressed := bytes.Buffer{} reader, err := gzip.NewReader(buffer) - if err != nil { - return mod.dumpRaw(body) - } else if _, err = uncompressed.ReadFrom(reader); err != nil { - return mod.dumpRaw(body) + 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()) } - return mod.dumpRaw(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 { - dump += mod.dumpRaw(req.Body) + if mod.dumpFormatHex { + dump += mod.dumpRaw(req.Body) + } else { + dump += mod.dumpText(req.Body) + } } }