diff --git a/types/common_label.go b/types/common_label.go deleted file mode 100644 index af543b573..000000000 --- a/types/common_label.go +++ /dev/null @@ -1,93 +0,0 @@ -package types - -import "strings" - -// Traefik labels -const ( - LabelPrefix = "traefik." - SuffixPort = "port" - SuffixProtocol = "protocol" - SuffixWeight = "weight" - SuffixFrontendAuthBasic = "frontend.auth.basic" - SuffixFrontendBackend = "frontend.backend" - SuffixFrontendEntryPoints = "frontend.entryPoints" - SuffixFrontendPassHostHeader = "frontend.passHostHeader" - SuffixFrontendPriority = "frontend.priority" - SuffixFrontendRedirect = "frontend.redirect" - SuffixFrontendRule = "frontend.rule" - LabelDomain = LabelPrefix + "domain" - LabelEnable = LabelPrefix + "enable" - LabelPort = LabelPrefix + SuffixPort - LabelPortIndex = LabelPrefix + "portIndex" - LabelProtocol = LabelPrefix + SuffixProtocol - LabelTags = LabelPrefix + "tags" - LabelWeight = LabelPrefix + SuffixWeight - LabelFrontendAuthBasic = LabelPrefix + SuffixFrontendAuthBasic - LabelFrontendEntryPoints = LabelPrefix + SuffixFrontendEntryPoints - LabelFrontendPassHostHeader = LabelPrefix + SuffixFrontendPassHostHeader - LabelFrontendPassTLSCert = LabelPrefix + "frontend.passTLSCert" - LabelFrontendPriority = LabelPrefix + SuffixFrontendPriority - LabelFrontendRule = LabelPrefix + SuffixFrontendRule - LabelFrontendRuleType = LabelPrefix + "frontend.rule.type" - LabelFrontendRedirect = LabelPrefix + SuffixFrontendRedirect - LabelTraefikFrontendValue = LabelPrefix + "frontend.value" - LabelTraefikFrontendWhitelistSourceRange = LabelPrefix + "frontend.whitelistSourceRange" - LabelFrontendRequestHeaders = LabelPrefix + "frontend.headers.customRequestHeaders" - LabelFrontendResponseHeaders = LabelPrefix + "frontend.headers.customResponseHeaders" - LabelFrontendAllowedHosts = LabelPrefix + "frontend.headers.allowedHosts" - LabelFrontendHostsProxyHeaders = LabelPrefix + "frontend.headers.hostsProxyHeaders" - LabelFrontendSSLRedirect = LabelPrefix + "frontend.headers.SSLRedirect" - LabelFrontendSSLTemporaryRedirect = LabelPrefix + "frontend.headers.SSLTemporaryRedirect" - LabelFrontendSSLHost = LabelPrefix + "frontend.headers.SSLHost" - LabelFrontendSSLProxyHeaders = LabelPrefix + "frontend.headers.SSLProxyHeaders" - LabelFrontendSTSSeconds = LabelPrefix + "frontend.headers.STSSeconds" - LabelFrontendSTSIncludeSubdomains = LabelPrefix + "frontend.headers.STSIncludeSubdomains" - LabelFrontendSTSPreload = LabelPrefix + "frontend.headers.STSPreload" - LabelFrontendForceSTSHeader = LabelPrefix + "frontend.headers.forceSTSHeader" - LabelFrontendFrameDeny = LabelPrefix + "frontend.headers.frameDeny" - LabelFrontendCustomFrameOptionsValue = LabelPrefix + "frontend.headers.customFrameOptionsValue" - LabelFrontendContentTypeNosniff = LabelPrefix + "frontend.headers.contentTypeNosniff" - LabelFrontendBrowserXSSFilter = LabelPrefix + "frontend.headers.browserXSSFilter" - LabelFrontendContentSecurityPolicy = LabelPrefix + "frontend.headers.contentSecurityPolicy" - LabelFrontendPublicKey = LabelPrefix + "frontend.headers.publicKey" - LabelFrontendReferrerPolicy = LabelPrefix + "frontend.headers.referrerPolicy" - LabelFrontendIsDevelopment = LabelPrefix + "frontend.headers.isDevelopment" - LabelBackend = LabelPrefix + "backend" - LabelBackendID = LabelPrefix + "backend.id" - LabelTraefikBackendCircuitbreaker = LabelPrefix + "backend.circuitbreaker" - LabelBackendCircuitbreakerExpression = LabelPrefix + "backend.circuitbreaker.expression" - LabelBackendHealthcheckPath = LabelPrefix + "backend.healthcheck.path" - LabelBackendHealthcheckInterval = LabelPrefix + "backend.healthcheck.interval" - LabelBackendLoadbalancerMethod = LabelPrefix + "backend.loadbalancer.method" - LabelBackendLoadbalancerSticky = LabelPrefix + "backend.loadbalancer.sticky" - LabelBackendLoadbalancerStickiness = LabelPrefix + "backend.loadbalancer.stickiness" - LabelBackendLoadbalancerStickinessCookieName = LabelPrefix + "backend.loadbalancer.stickiness.cookieName" - LabelBackendMaxconnAmount = LabelPrefix + "backend.maxconn.amount" - LabelBackendMaxconnExtractorfunc = LabelPrefix + "backend.maxconn.extractorfunc" -) - -//ServiceLabel converts a key value of Label*, given a serviceName, into a pattern .. -// i.e. For LabelFrontendRule and serviceName=app it will return "traefik.app.frontend.rule" -func ServiceLabel(key, serviceName string) string { - if len(serviceName) > 0 { - property := strings.TrimPrefix(key, LabelPrefix) - return LabelPrefix + serviceName + "." + property - } - return key -} - -// SplitAndTrimString splits separatedString at the comma character and trims each -// piece, filtering out empty pieces. Returns the list of pieces or nil if the input -// did not contain a non-empty piece. -func SplitAndTrimString(base string) []string { - var trimmedStrings []string - - for _, s := range strings.Split(base, ",") { - s = strings.TrimSpace(s) - if len(s) > 0 { - trimmedStrings = append(trimmedStrings, s) - } - } - - return trimmedStrings -} diff --git a/types/common_label_test.go b/types/common_label_test.go deleted file mode 100644 index b97be2085..000000000 --- a/types/common_label_test.go +++ /dev/null @@ -1,62 +0,0 @@ -package types - -import ( - "testing" - - "github.com/stretchr/testify/assert" -) - -func TestSplitAndTrimString(t *testing.T) { - cases := []struct { - desc string - input string - expected []string - }{ - { - desc: "empty string", - input: "", - expected: nil, - }, { - desc: "one piece", - input: "foo", - expected: []string{"foo"}, - }, { - desc: "two pieces", - input: "foo,bar", - expected: []string{"foo", "bar"}, - }, { - desc: "three pieces", - input: "foo,bar,zoo", - expected: []string{"foo", "bar", "zoo"}, - }, { - desc: "two pieces with whitespace", - input: " foo , bar ", - expected: []string{"foo", "bar"}, - }, { - desc: "consecutive commas", - input: " foo ,, bar ", - expected: []string{"foo", "bar"}, - }, { - desc: "consecutive commas with whitespace", - input: " foo , , bar ", - expected: []string{"foo", "bar"}, - }, { - desc: "leading and trailing commas", - input: ",, foo , , bar,, , ", - expected: []string{"foo", "bar"}, - }, { - desc: "no valid pieces", - input: ", , , ,, ,", - expected: nil, - }, - } - - for _, test := range cases { - test := test - t.Run(test.desc, func(t *testing.T) { - t.Parallel() - actual := SplitAndTrimString(test.input) - assert.Equal(t, test.expected, actual) - }) - } -}