From 10c2e6faf164f32335863077c5f22eee63641e7b Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?France=CC=81=20Wilke?= <francewilke@gmail.com>
Date: Mon, 13 Dec 2021 10:55:28 +0200
Subject: [PATCH] Checks for request ID (when debugging) - api logs

---
 api_logs/api-logs.go | 19 +++++++++++++++----
 1 file changed, 15 insertions(+), 4 deletions(-)

diff --git a/api_logs/api-logs.go b/api_logs/api-logs.go
index 0c797b7..c569e0c 100644
--- a/api_logs/api-logs.go
+++ b/api_logs/api-logs.go
@@ -9,9 +9,14 @@ import (
 	"github.com/aws/aws-lambda-go/events"
 )
 
-func GenerateIncomingAPILog(startTime time.Time, requestID string, claim map[string]interface{}, req events.APIGatewayProxyRequest, res events.APIGatewayProxyResponse) ApiLog {
+func GenerateIncomingAPILog(startTime time.Time, requestID *string, claim map[string]interface{}, req events.APIGatewayProxyRequest, res events.APIGatewayProxyResponse) ApiLog {
 	endTime := time.Now()
 
+	currentRequestID := ""
+	if requestID != nil {
+		currentRequestID = *requestID
+	}
+
 	var authType string
 	var authUsername string
 	if req.RequestContext.Identity.CognitoAuthenticationType != "" {
@@ -47,7 +52,7 @@ func GenerateIncomingAPILog(startTime time.Time, requestID string, claim map[str
 		Address:             req.RequestContext.DomainName,
 		Path:                req.Path,
 		ResponseCode:        res.StatusCode,
-		RequestID:           requestID,
+		RequestID:           currentRequestID,
 		InitialAuthType:     authType,
 		InitialAuthUsername: authUsername,
 		SourceIP:            req.RequestContext.Identity.SourceIP,
@@ -76,8 +81,14 @@ func GenerateIncomingAPILog(startTime time.Time, requestID string, claim map[str
 	return apiLog
 }
 
-func GenerateOutgoingAPILog(startTime time.Time, requestID string, claim map[string]interface{}, urlString string, method string, requestBody string, requestHeaders map[string]string, responseBody string, responseCode int) ApiLog {
+func GenerateOutgoingAPILog(startTime time.Time, requestID *string, claim map[string]interface{}, urlString string, method string, requestBody string, requestHeaders map[string]string, responseBody string, responseCode int) ApiLog {
 	endTime := time.Now()
+
+	currentRequestID := ""
+	if requestID != nil {
+		currentRequestID = *requestID
+	}
+
 	userID, _ := claim["UserID"].(int64)
 	username, _ := claim["Username"].(string)
 	accountID, _ := claim["AccountID"].(int64)
@@ -98,7 +109,7 @@ func GenerateOutgoingAPILog(startTime time.Time, requestID string, claim map[str
 		Path:         parsedURL.Path,
 		Address:      parsedURL.Host,
 		ResponseCode: responseCode,
-		RequestID:    requestID,
+		RequestID:    currentRequestID,
 		UserID:       userID,
 		Username:     username,
 		AccountID:    accountID,
-- 
GitLab