MCPcopy Index your code
hub / github.com/labstack/echo / NewRandomBalancer

Function NewRandomBalancer

middleware/proxy.go:189–196  ·  view source on GitHub ↗

NewRandomBalancer returns a random proxy balancer.

(targets []*ProxyTarget)

Source from the content-addressed store, hash-verified

187
188// NewRandomBalancer returns a random proxy balancer.
189func 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.
199func NewRoundRobinBalancer(targets []*ProxyTarget) ProxyBalancer {

Calls

no outgoing calls

Used in the wild real call sites across dependent graphs

searching dependent graphs…