fix: rate limiting X-Real-IP from the real peer

This commit is contained in:
fsylvain committed 2026-09-25 06:49:55 +02:00
1 parent 9b47685002
commit 0e050c36ff
11 files changed
+439 -8

No files matched your search

+31
View File
@@ -134,6 +134,37 @@ func TestNewSettingsFromEnvInvalidAuthRateLimitWindowSecondsReturnsError(t *test
}
}
func TestNewSettingsFromEnvEmptyTrustedProxiesIsNil(t *testing.T) {
setBaseSettingsEnv(t)
settings, err := config.NewSettingsFromEnv()
if err != nil {
t.Fatalf("expected no error, got %v", err)
}
if settings.TrustedProxies != nil {
t.Errorf("expected nil TrustedProxies, got %v", settings.TrustedProxies)
}
}
func TestNewSettingsFromEnvParsesMultipleTrustedProxies(t *testing.T) {
setBaseSettingsEnv(t)
t.Setenv("TRUSTED_PROXIES", "10.0.0.1;127.0.0.1")
settings, err := config.NewSettingsFromEnv()
if err != nil {
t.Fatalf("expected no error, got %v", err)
}
expected := []string{"10.0.0.1", "127.0.0.1"}
if len(settings.TrustedProxies) != len(expected) {
t.Fatalf("expected %d trusted proxies, got %v", len(expected), settings.TrustedProxies)
}
for i, proxy := range expected {
if settings.TrustedProxies[i] != proxy {
t.Errorf("expected trusted proxy %d to be %q, got %q", i, proxy, settings.TrustedProxies[i])
}
}
}
func TestSettingsIsProductionFalseForNonProductionEnvironment(t *testing.T) {
settings := config.Settings{Environment: "development"}
if settings.IsProduction() {