From b8b9f8206762f828356cc68acbc8dded367fe2ab Mon Sep 17 00:00:00 2001 From: Giovanni Harting <539@idlegandalf.com> Date: Tue, 17 May 2022 23:47:24 +0200 Subject: [PATCH] use fallback if not x-forwarded-for is present --- main.go | 3 +-- utils/utils.go | 8 ++++++++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/main.go b/main.go index 137fecf..f50a879 100644 --- a/main.go +++ b/main.go @@ -1105,10 +1105,9 @@ func main() { go housekeeping() r := gin.New() - r.Use(gin.LoggerWithFormatter(func(param gin.LogFormatterParams) string { return fmt.Sprintf("%s - \"%s %s %s %d %s \"%s\" %s\"\n", - param.Request.Header.Get("X-Forwarded-For"), + utils.RealIP(¶m.Request.Header, param.Request.RemoteAddr), param.Method, param.Path, param.Request.Proto, diff --git a/utils/utils.go b/utils/utils.go index 8f2199a..73d5f0b 100644 --- a/utils/utils.go +++ b/utils/utils.go @@ -815,3 +815,11 @@ func PlayerFromSteam(players []*ent.Player, db *ent.Client, apiKey string, rl *r return nPlayers, nil } + +func RealIP(header *http.Header, fallback string) string { + if header.Get("X-Forwarded-For") != "" { + return header.Get("X-Forwarded-For") + } else { + return fallback + } +}