Redis
 sql >> Base de données >  >> NoSQL >> Redis

Passer une référence à une instance Redis à un gestionnaire Gorilla/Mux

Écrivez une fonction qui convertit une fonction avec l'argument d'instance Redis en un gestionnaire HTTP :

func redisHandler(c *RedisInstance,
    f func(c *RedisInstance, w http.ResponseWriter, r *http.Request)) http.Handler {
    return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { f(c, w, r) })
}

Écrivez vos gestionnaires d'API comme ceci :

func AddTodoHandler(c *RedisInstance, w http.ResponseWriter, r *http.Request) {
    ...
}

Ajoutez au mux comme ceci :

r.Handler("/todo", redisHandler(client, api.AddTodoHandler)).Methods("POST")

client est l'instance Redis.