mirror of
https://github.com/kubernetes-sigs/prometheus-adapter.git
synced 2026-04-06 01:38:10 +00:00
This updates the dependencies to Kube 1.11.3 to pull in a fix allowing requestheader auth to be used without normal client auth (which makes things work on clusters that don't enable client auth normally, like EKS).
55 lines
1.1 KiB
Go
55 lines
1.1 KiB
Go
// +build !go1.9
|
|
|
|
package swag
|
|
|
|
import (
|
|
"sort"
|
|
"sync"
|
|
)
|
|
|
|
// indexOfInitialisms is a thread-safe implementation of the sorted index of initialisms.
|
|
// Before go1.9, this may be implemented with a mutex on the map.
|
|
type indexOfInitialisms struct {
|
|
getMutex *sync.Mutex
|
|
index map[string]bool
|
|
}
|
|
|
|
func newIndexOfInitialisms() *indexOfInitialisms {
|
|
return &indexOfInitialisms{
|
|
getMutex: new(sync.Mutex),
|
|
index: make(map[string]bool, 50),
|
|
}
|
|
}
|
|
|
|
func (m *indexOfInitialisms) load(initial map[string]bool) *indexOfInitialisms {
|
|
m.getMutex.Lock()
|
|
defer m.getMutex.Unlock()
|
|
for k, v := range initial {
|
|
m.index[k] = v
|
|
}
|
|
return m
|
|
}
|
|
|
|
func (m *indexOfInitialisms) isInitialism(key string) bool {
|
|
m.getMutex.Lock()
|
|
defer m.getMutex.Unlock()
|
|
_, ok := m.index[key]
|
|
return ok
|
|
}
|
|
|
|
func (m *indexOfInitialisms) add(key string) *indexOfInitialisms {
|
|
m.getMutex.Lock()
|
|
defer m.getMutex.Unlock()
|
|
m.index[key] = true
|
|
return m
|
|
}
|
|
|
|
func (m *indexOfInitialisms) sorted() (result []string) {
|
|
m.getMutex.Lock()
|
|
defer m.getMutex.Unlock()
|
|
for k := range m.index {
|
|
result = append(result, k)
|
|
}
|
|
sort.Sort(sort.Reverse(byLength(result)))
|
|
return
|
|
}
|