From aeffe1036d39ed1a49162af57fce92cfefdb4816 Mon Sep 17 00:00:00 2001 From: Fernandez Ludovic Date: Thu, 21 Dec 2017 17:19:42 +0100 Subject: [PATCH] refactor: no rate limits must return nil. --- provider/label/label.go | 6 +++++- provider/label/label_test.go | 6 ++++++ 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/provider/label/label.go b/provider/label/label.go index 0dc5d5ed4..3cd99c590 100644 --- a/provider/label/label.go +++ b/provider/label/label.go @@ -308,7 +308,7 @@ func ParseErrorPages(labels map[string]string, labelPrefix string, labelRegex *r // ParseRateSets parse rate limits to create Rate struct func ParseRateSets(labels map[string]string, labelPrefix string, labelRegex *regexp.Regexp) map[string]*types.Rate { - rateSets := make(map[string]*types.Rate) + var rateSets map[string]*types.Rate for lblName, rawValue := range labels { if strings.HasPrefix(lblName, labelPrefix) && len(rawValue) > 0 { @@ -318,6 +318,10 @@ func ParseRateSets(labels map[string]string, labelPrefix string, labelRegex *reg continue } + if rateSets == nil { + rateSets = make(map[string]*types.Rate) + } + limitName := submatch[1] ep, ok := rateSets[limitName] diff --git a/provider/label/label_test.go b/provider/label/label_test.go index 7812023d2..045304dd2 100644 --- a/provider/label/label_test.go +++ b/provider/label/label_test.go @@ -1118,6 +1118,12 @@ func TestParseRateSets(t *testing.T) { }, }, }, + + { + desc: "no rate limits labels", + labels: map[string]string{}, + expected: nil, + }, } for _, test := range testCases {