Je suis sûr que j'essaie de tricher ici, mais la documentation de ResponseWriter contient une méthode 'Header()' qui renvoie l'objet Header qu'il utilise. https://pkg.go.dev/net/http#ResponseWriter.Header
Maintenant, je reçois une réponse http.Response d'un autre endroit, et je veux copier tous les en-têtes de cette réponse dans mon ResponseWriter.
Maintenant, je pourrais utiliser une boucle for comme ça :
for k := range resp.Header
w.Header().Add(k, resp.Header.Get(k))
}
Logiquement, il m'aurait suffi de changer la référence de l'en-tête du ResponseWriter à l'en-tête de la réponse, mais il semble que le type ResponseWriter essaie activement de m'en empêcher.
Quelque chose de stupide comme ceci me vient à l'esprit
w.Header() = resp.Header
Ou
rwHeader := w.Header()
rwHeader = resp.Header
Il est évident que ces deux exemples n'ont aucun sens et ne fonctionnent pas du tout, mais j'espère qu'ils transmettent l'idée de ce que j'essaie de faire.
Quelqu'un peut-il m'expliquer pourquoi ce que j'essaie de faire ne fonctionne pas ? Ou peut-être que ça marche et que je ne vois pas comment le faire ?