diff options
| author | horus_arch | 2015-03-29 23:17:24 +0200 |
|---|---|---|
| committer | horus_arch | 2015-03-29 23:17:24 +0200 |
| commit | 37b6995afa83fcf32dfd24be406112491c8d6451 (patch) | |
| tree | 9c1e76a1c031b02deff028f9ab5a01fa3d6b0bc2 /utilities.go | |
| parent | 75eb1c4c535972cac5d2a91e7b79fd001767e83a (diff) | |
| download | freemail-37b6995afa83fcf32dfd24be406112491c8d6451.tar.gz | |
Better logging with RemoteAddr.
Diffstat (limited to 'utilities.go')
| -rw-r--r-- | utilities.go | 18 |
1 files changed, 17 insertions, 1 deletions
diff --git a/utilities.go b/utilities.go index 4bf0b92..3ce3e1d 100644 --- a/utilities.go +++ b/utilities.go @@ -5,6 +5,7 @@ import ( "fmt" "io" "log" + "net" "net/http" "strings" ) @@ -33,7 +34,7 @@ func CompareStrings(strs ...string) bool { func GetLanguage(r *http.Request) string { c, err := r.Cookie("lang") if err != nil { - log.Println("Cookie: lang", err) + log.Println("Info: Cookie: lang", err) } else { if c.Value != "" { if c.Value == "de" { @@ -53,3 +54,18 @@ func GetLanguage(r *http.Request) string { } return "" } + +func GetIP(r *http.Request) string { + if len(r.Header["X-Forwarded-For"]) > 0 { + return r.Header["X-Forwarded-For"][0] + } + if len(r.Header["X-Real-Ip"]) > 0 { + return r.Header["X-Real-Ip"][0] + } + if r.RemoteAddr != "" { + ip, _, _ := net.SplitHostPort(r.RemoteAddr) + return ip + } + log.Println("Info: No remote IP detectable.") + return "0.0.0.0" +} |
