Browse Source
* Added extraction of first IP address from X-FORWARDED-FOR header * Added tests to the GetIPAddressFromRequest util method --------- Co-authored-by: Aziz Rmadi <azizrmadi@Azizs-MacBook-Air.local>pull/3361/head
2 changed files with 35 additions and 1 deletions
@ -0,0 +1,27 @@
@@ -0,0 +1,27 @@
|
||||
package utils |
||||
|
||||
import ( |
||||
"net/http/httptest" |
||||
"testing" |
||||
) |
||||
|
||||
func TestGetIPAddressFromRequest(t *testing.T) { |
||||
|
||||
expectedResult := "203.0.113.195" |
||||
|
||||
request := httptest.NewRequest("GET", "/", nil) |
||||
request.RemoteAddr = "203.0.113.195:41237" |
||||
//First Test without X-FORWARDED-FOR header
|
||||
result := GetIPAddressFromRequest(request) |
||||
if result != expectedResult { |
||||
t.Errorf("Remote address only test failed: Expected %s, got %s", expectedResult, result) |
||||
} |
||||
|
||||
//Test with X-FORWARDED-FOR header
|
||||
request.Header.Set("X-FORWARDED-FOR header", "203.0.113.195:41237, 198.51.100.100:38523, 140.248.67.176:12345") |
||||
result = GetIPAddressFromRequest(request) |
||||
if result != expectedResult { |
||||
t.Errorf("X-FORWARD-FOR header test failed: Expected %s, got %s", expectedResult, result) |
||||
} |
||||
|
||||
} |
Loading…
Reference in new issue