Transfert de données du middleware vers les gestionnaires
Dans le développement Web moderne, le middleware et les gestionnaires collaborent souvent pour traiter les demandes. Pour éviter la duplication de code, il est crucial de transférer efficacement les données du middleware vers les gestionnaires.
Considérez le scénario dans lequel le middleware intercepte et prépare les données, comme l'analyse des JWT à partir du corps de la requête. Le partage de ces données analysées avec les gestionnaires élimine les duplications inutiles.
Utilisation du package de contexte Gorilla
Si vous utilisez la boîte à outils Gorilla, exploitez son package de contexte. Cela vous permet de définir et de récupérer des données du contexte de la requête sans modifier les signatures de méthode.
// Middleware http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { // Middleware operations token := jwtParser(r) context.Set(r, "token", token) next.ServeHTTP(w, r) }) // Handler http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { token := context.Get(r, "token") })
Remarque : Le package de contexte Gorilla est maintenant en mode maintenance et il est recommandé d'utiliser le Contexte Go natif.Fonctionnalité Contexte introduite dans Go 1.7.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!