Skip to content

Commit fe93100

Browse files
authored
Make RemoteAddrHandler copy the RemoteAddr untouched (#347)
Do not remove the port part of the RemoteAddr and accept values with no ports.
1 parent be6f6fd commit fe93100

File tree

2 files changed

+4
-5
lines changed

2 files changed

+4
-5
lines changed

hlog/hlog.go

+2-3
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ package hlog
33

44
import (
55
"context"
6-
"net"
76
"net/http"
87
"time"
98

@@ -79,10 +78,10 @@ func RequestHandler(fieldKey string) func(next http.Handler) http.Handler {
7978
func RemoteAddrHandler(fieldKey string) func(next http.Handler) http.Handler {
8079
return func(next http.Handler) http.Handler {
8180
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
82-
if host, _, err := net.SplitHostPort(r.RemoteAddr); err == nil {
81+
if r.RemoteAddr != "" {
8382
log := zerolog.Ctx(r.Context())
8483
log.UpdateContext(func(c zerolog.Context) zerolog.Context {
85-
return c.Str(fieldKey, host)
84+
return c.Str(fieldKey, r.RemoteAddr)
8685
})
8786
}
8887
next.ServeHTTP(w, r)

hlog/hlog_test.go

+2-2
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ func TestRemoteAddrHandler(t *testing.T) {
100100
}))
101101
h = NewHandler(zerolog.New(out))(h)
102102
h.ServeHTTP(nil, r)
103-
if want, got := `{"ip":"1.2.3.4"}`+"\n", decodeIfBinary(out); want != got {
103+
if want, got := `{"ip":"1.2.3.4:1234"}`+"\n", decodeIfBinary(out); want != got {
104104
t.Errorf("Invalid log output, got: %s, want: %s", got, want)
105105
}
106106
}
@@ -116,7 +116,7 @@ func TestRemoteAddrHandlerIPv6(t *testing.T) {
116116
}))
117117
h = NewHandler(zerolog.New(out))(h)
118118
h.ServeHTTP(nil, r)
119-
if want, got := `{"ip":"2001:db8:a0b:12f0::1"}`+"\n", decodeIfBinary(out); want != got {
119+
if want, got := `{"ip":"[2001:db8:a0b:12f0::1]:1234"}`+"\n", decodeIfBinary(out); want != got {
120120
t.Errorf("Invalid log output, got: %s, want: %s", got, want)
121121
}
122122
}

0 commit comments

Comments
 (0)