Skip to content
Snippets Groups Projects
Commit dffd8a76 authored by Jan Semmelink's avatar Jan Semmelink
Browse files

Update missing claim info in api-logs

parent fd8b9b20
No related branches found
No related tags found
No related merge requests found
...@@ -3,11 +3,13 @@ package logs ...@@ -3,11 +3,13 @@ package logs
import ( import (
"net/http" "net/http"
"sort" "sort"
"strconv"
"strings" "strings"
"time" "time"
"github.com/aws/aws-lambda-go/events" "github.com/aws/aws-lambda-go/events"
"gitlab.com/uafrica/go-utils/errors" "gitlab.com/uafrica/go-utils/errors"
"gitlab.com/uafrica/go-utils/logger"
"gitlab.com/uafrica/go-utils/queues" "gitlab.com/uafrica/go-utils/queues"
) )
...@@ -25,6 +27,7 @@ func LogIncomingAPIRequest(startTime time.Time, requestID string, claim map[stri ...@@ -25,6 +27,7 @@ func LogIncomingAPIRequest(startTime time.Time, requestID string, claim map[stri
} }
//todo: filter out some noisy (method+path) //todo: filter out some noisy (method+path)
logger.Debugf("claim: %+v", claim)
endTime := time.Now() endTime := time.Now()
...@@ -44,8 +47,15 @@ func LogIncomingAPIRequest(startTime time.Time, requestID string, claim map[stri ...@@ -44,8 +47,15 @@ func LogIncomingAPIRequest(startTime time.Time, requestID string, claim map[stri
} }
} }
username, _ := claim["user_id"].(string) username, _ := claim["Username"].(string)
accountID, _ := claim["account_id"].(int64) accountID, _ := claim["AccountID"].(int64)
if accountID == 0 {
if accountIDParam, ok := req.QueryStringParameters["account_id"]; ok {
if i64, err := strconv.ParseInt(accountIDParam, 10, 64); err == nil && i64 > 0 {
accountID = i64
}
}
}
apiLog := ApiLog{ apiLog := ApiLog{
StartTime: startTime, StartTime: startTime,
EndTime: endTime, EndTime: endTime,
...@@ -93,6 +103,8 @@ func LogIncomingAPIRequest(startTime time.Time, requestID string, claim map[stri ...@@ -93,6 +103,8 @@ func LogIncomingAPIRequest(startTime time.Time, requestID string, claim map[stri
apiLog.Response.Body = "<not logged>" apiLog.Response.Body = "<not logged>"
} }
logger.Debugf("Send api-log to SQS: %+v", apiLog)
//todo: filter out sensitive values (e.g. OTP) //todo: filter out sensitive values (e.g. OTP)
if _, err := producer.NewEvent("API_LOGS"). if _, err := producer.NewEvent("API_LOGS").
Type("api-log"). Type("api-log").
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment