From e04829b3846a48445787b300be1f7508771ae5a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?France=CC=81=20Wilke?= <francewilke@gmail.com> Date: Mon, 20 Dec 2021 10:46:15 +0200 Subject: [PATCH] Always truncate the response body --- api_logs/api-logs.go | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/api_logs/api-logs.go b/api_logs/api-logs.go index 28ddac5..c1d5254 100644 --- a/api_logs/api-logs.go +++ b/api_logs/api-logs.go @@ -3,7 +3,6 @@ package api_logs import ( "github.com/thoas/go-funk" "gitlab.com/uafrica/go-utils/string_utils" - "net/http" "net/url" "strings" "time" @@ -19,13 +18,10 @@ func GenerateIncomingAPILog(startTime time.Time, requestID *string, claim map[st currentRequestID = *requestID } - // Truncate response body for incoming GET requests + // SQS has a 256KB limit, so let's limit the response to 96KB responseBody := res.Body - if req.HTTPMethod == http.MethodGet { - // SQS has a 256KB limit, so let's limit the response to 96KB - if len(responseBody) > 12000 { - responseBody = responseBody[:12000] + "..." - } + if len(responseBody) > 12000 { + responseBody = responseBody[:12000] + "..." } var authType string @@ -117,6 +113,12 @@ func GenerateOutgoingAPILog(startTime time.Time, requestID *string, claim map[st currentRequestID = *requestID } + // SQS has a 256KB limit, so let's limit the response to 96KB + originalResponseBody := responseBody + if len(responseBody) > 12000 { + responseBody = responseBody[:12000] + "..." + } + userID, _ := claim["UserID"].(int64) username, _ := claim["Username"].(string) accountID, _ := claim["AccountID"].(int64) @@ -157,7 +159,7 @@ func GenerateOutgoingAPILog(startTime time.Time, requestID *string, claim map[st }, Response: ApiLogResponse{ Headers: requestHeaders, - BodySize: len(responseBody), + BodySize: len(originalResponseBody), Body: responseBody, }, } -- GitLab