From 0d71e341d5253e81c5ecd838d6a04ae7da24ad2c Mon Sep 17 00:00:00 2001 From: Robert Dailey Date: Tue, 7 Jun 2022 18:26:21 -0500 Subject: [PATCH] refactor: Add request/response body to debug logs --- src/TrashLib/Extensions/FlurlLogging.cs | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/TrashLib/Extensions/FlurlLogging.cs b/src/TrashLib/Extensions/FlurlLogging.cs index 1bd82d2c..7caacbfd 100644 --- a/src/TrashLib/Extensions/FlurlLogging.cs +++ b/src/TrashLib/Extensions/FlurlLogging.cs @@ -14,13 +14,25 @@ public static class FlurlLogging { var url = urlInterceptor(call.Request.Url.Clone()); log.Debug("HTTP Request: {Method} {Url}", call.HttpRequestMessage.Method, url); + + var body = call.RequestBody; + if (body is not null) + { + log.Debug("HTTP Body:\n{Body}", body); + } }; - settings.AfterCall = call => + settings.AfterCallAsync = async call => { var statusCode = call.Response?.StatusCode.ToString() ?? "(No response)"; var url = urlInterceptor(call.Request.Url.Clone()); log.Debug("HTTP Response: {Status} {Method} {Url}", statusCode, call.HttpRequestMessage.Method, url); + + var content = call.Response?.ResponseMessage.Content; + if (content is not null) + { + log.Debug("HTTP Body:\n{Body}", await content.ReadAsStringAsync()); + } }; settings.OnRedirect = call =>