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

View source record →

📰 Research Paper
Loading…
⏳ Fetching content…