1
0
Fork 0

feat(kv): add rate limits configuration.

This commit is contained in:
Fernandez Ludovic 2018-01-03 16:42:40 +01:00 committed by Traefiker
parent 51390aa874
commit 79ae52aca7
4 changed files with 133 additions and 0 deletions

View file

@ -93,6 +93,23 @@ func withErrorPage(name string, backend, query, status string) func(map[string]s
}
}
func withRateLimit(extractorFunc string, opts ...func(map[string]string)) func(map[string]string) {
return func(pairs map[string]string) {
pairs[pathFrontendRateLimitExtractorFunc] = extractorFunc
for _, opt := range opts {
opt(pairs)
}
}
}
func withLimit(name string, average, burst, period string) func(map[string]string) {
return func(pairs map[string]string) {
pairs[pathFrontendRateLimitRateSet+name+pathFrontendRateLimitAverage] = average
pairs[pathFrontendRateLimitRateSet+name+pathFrontendRateLimitBurst] = burst
pairs[pathFrontendRateLimitRateSet+name+pathFrontendRateLimitPeriod] = period
}
}
func TestFiller(t *testing.T) {
expected := []*store.KVPair{
{Key: "traefik/backends/backend.with.dot.too", Value: []byte("")},