feat(kv): add rate limits configuration.
This commit is contained in:
parent
51390aa874
commit
79ae52aca7
4 changed files with 133 additions and 0 deletions
|
@ -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("")},
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue