This commit is contained in:
@@ -0,0 +1,34 @@
|
||||
package server
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
"net/netip"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestAllowed(t *testing.T) {
|
||||
p, _ := netip.ParsePrefix("127.0.0.1/32")
|
||||
a := netip.MustParseAddr("127.0.0.1")
|
||||
if !Allowed(a, false, []netip.Prefix{p}) {
|
||||
t.Fatal("expected allowed")
|
||||
}
|
||||
if Allowed(a, false, nil) {
|
||||
t.Fatal("empty whitelist should deny")
|
||||
}
|
||||
if !Allowed(a, true, nil) {
|
||||
t.Fatal("allow_all")
|
||||
}
|
||||
}
|
||||
|
||||
func TestClientIPTrustedXFF(t *testing.T) {
|
||||
trusted, _ := netip.ParsePrefix("10.0.0.1/32")
|
||||
r := &http.Request{
|
||||
Header: http.Header{},
|
||||
RemoteAddr: "10.0.0.1:12345",
|
||||
}
|
||||
r.Header.Set("X-Forwarded-For", "203.0.113.5, 10.0.0.1")
|
||||
ip := ClientIP(r, []netip.Prefix{trusted})
|
||||
if ip.String() != "203.0.113.5" {
|
||||
t.Fatalf("got %v", ip)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user