INNER CODE UNIT · Go
func
zalando/skipper · doc.go:252
func (s *randomSpec) Name() string { return "Random" }
func (s *randomSpec) Create(args []interface{}) (routing.Predicate, error) {
p := &randomPredicate{.5}
if len(args) > 0 {
if c, ok := args[0].(float64); ok {
p.chance = c
}
}
return p, nil
}
func (p *randomPredicate) Match(_ *http.Request) bool {
return rand.Float64() < p.chance
}
In the above example, a custom predicate is created, that can be