From 6c0ef42e6a8525b5679fa93e461a83a5011e2c4c Mon Sep 17 00:00:00 2001 From: Calamitas Date: Tue, 12 Jul 2022 23:45:09 -0500 Subject: [PATCH] Working simple IP logger --- server.go | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/server.go b/server.go index 5619fa8..6bb0280 100644 --- a/server.go +++ b/server.go @@ -7,17 +7,22 @@ import ( ) func handler(w http.ResponseWriter, r *http.Request) { - ip := getIP(w, r) + ip := GetRealIP(r) fmt.Fprintf(w, ip) } -func getIP(w http.ResponseWriter, r *http.Request) string { - IP := r.Header.Get("X-REAL-IP") - if IP != "" { - return IP - } else { - return "No IPV4" +func GetRealIP(r *http.Request) string { + IP := r.Header.Get("X-Real-IP") + if IP == "" { + IP = r.Header.Get("X-Forwarder-For") } + if IP == "" { + IP = r.RemoteAddr + } + if IP == "" { + IP = "No IPV4 address" + } + return IP } func main() { http.HandleFunc("/", handler)