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/3395/head
2 changed files with 35 additions and 1 deletions
@ -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