Полагаю, вы хотите добавить новое функциональное промежуточное ПО и протестировать его в стиле A / B.
func ServiceMiddleWare() gin.HandleFunc {
return func(c *gin.Context){
r := rand.New(rand.NewSource(time.Now().UnixNano()))
if r.Intn(100) < 50 {
c.Next()
return
}
// service_logic
fmt.Println("add a new service")
c.Next()
}
}