NewRandomBalancer returns a random proxy balancer.
(targets []*ProxyTarget)
| 187 | |
| 188 | // NewRandomBalancer returns a random proxy balancer. |
| 189 | func NewRandomBalancer(targets []*ProxyTarget) ProxyBalancer { |
| 190 | b := randomBalancer{} |
| 191 | b.targets = targets |
| 192 | // G404 (CWE-338): Use of weak random number generator (math/rand or math/rand/v2 instead of crypto/rand) |
| 193 | // this random is used to select next target. I can not think of reason this must be cryptographically safe. If you can - please open PR. |
| 194 | b.random = rand.New(rand.NewSource(int64(time.Now().Nanosecond()))) // #nosec G404 |
| 195 | return &b |
| 196 | } |
| 197 | |
| 198 | // NewRoundRobinBalancer returns a round-robin proxy balancer. |
| 199 | func NewRoundRobinBalancer(targets []*ProxyTarget) ProxyBalancer { |
no outgoing calls
searching dependent graphs…