@@ -85,6 +85,7 @@ func TestGetClientIP(t *testing.T) {
85
85
// Test RemoteAddr
86
86
req1 := & http.Request {
87
87
RemoteAddr : "192.168.1.1:12345" ,
88
+ Header : make (http.Header ),
88
89
}
89
90
if ip := getClientIP (req1 ); ip != "192.168.1.1" {
90
91
t .Errorf ("Expected IP 192.168.1.1, got %s" , ip )
@@ -93,33 +94,30 @@ func TestGetClientIP(t *testing.T) {
93
94
// Test X-Forwarded-For
94
95
req2 := & http.Request {
95
96
RemoteAddr : "10.0.0.1:12345" ,
96
- Header : http.Header {
97
- "X-Forwarded-For" : []string {"192.168.1.2, 10.0.0.1" },
98
- },
97
+ Header : make (http.Header ),
99
98
}
99
+ req2 .Header .Set ("X-Forwarded-For" , "192.168.1.2, 10.0.0.1" )
100
100
if ip := getClientIP (req2 ); ip != "192.168.1.2" {
101
101
t .Errorf ("Expected IP 192.168.1.2, got %s" , ip )
102
102
}
103
103
104
104
// Test X-Real-IP
105
105
req3 := & http.Request {
106
106
RemoteAddr : "10.0.0.1:12345" ,
107
- Header : http.Header {
108
- "X-Real-IP" : []string {"192.168.1.3" },
109
- },
107
+ Header : make (http.Header ),
110
108
}
109
+ req3 .Header .Set ("X-Real-IP" , "192.168.1.3" )
111
110
if ip := getClientIP (req3 ); ip != "192.168.1.3" {
112
111
t .Errorf ("Expected IP 192.168.1.3, got %s" , ip )
113
112
}
114
113
115
114
// Test precedence: X-Forwarded-For > X-Real-IP > RemoteAddr
116
115
req4 := & http.Request {
117
116
RemoteAddr : "10.0.0.1:12345" ,
118
- Header : http.Header {
119
- "X-Forwarded-For" : []string {"192.168.1.4, 10.0.0.1" },
120
- "X-Real-IP" : []string {"192.168.1.5" },
121
- },
117
+ Header : make (http.Header ),
122
118
}
119
+ req4 .Header .Set ("X-Forwarded-For" , "192.168.1.4, 10.0.0.1" )
120
+ req4 .Header .Set ("X-Real-IP" , "192.168.1.5" )
123
121
if ip := getClientIP (req4 ); ip != "192.168.1.4" {
124
122
t .Errorf ("Expected IP 192.168.1.4, got %s" , ip )
125
123
}
0 commit comments