Définition des en-têtes HTTP dans le serveur Web Go avec Gorilla/Mux
Lors de la création d'API RESTful ou d'applications Web avec Go, la définition des en-têtes HTTP est cruciale pour gérer les requêtes inter-domaines ou personnaliser la réponse du serveur. Ce bref article vous guide tout au long du processus de configuration des en-têtes HTTP à l'aide du package Gorilla/Mux, résolvant un problème courant rencontré par les programmeurs.
Le problème : définir les en-têtes de réponse
Le code Go fourni montre comment gérer les requêtes entrantes à l'aide de Gorilla/Mux mais ne dispose pas de l'implémentation nécessaire pour définir les en-têtes de réponse. Le package net/http propose une documentation pour l'envoi d'en-têtes HTTP en tant que client, mais il ne décrit pas explicitement comment définir les en-têtes de réponse.
La solution : la méthode Set()
La solution réside dans l'utilisation de la méthode Set() disponible dans la méthode Header(). L'ajout de la ligne suivante à la fonction saveHandler activera les requêtes AJAX inter-domaines :
w.Header().Set("Access-Control-Allow-Origin", "*")
Le gestionnaire révisé
La fonction saveHandler mise à jour ressemble désormais à ceci :
func saveHandler(w http.ResponseWriter, r *http.Request) { // allow cross domain AJAX requests w.Header().Set("Access-Control-Allow-Origin", "*") // do some stuff with the request data }
Conclusion
En comprenant le En utilisant correctement la méthode Set(), les développeurs peuvent facilement définir des en-têtes HTTP sur leurs serveurs Web Go à l'aide de Gorilla/Mux. Cela leur permet de gérer facilement les requêtes inter-domaines et de personnaliser les réponses du serveur.
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!