2017-07-08 1 views
3

Comment remplacer l'en-tête de réponse précédemment défini dans Yesod? Lorsque j'utilise la fonction addHeader, il ajoute un autre en-tête portant le même nom au lieu de l'écraser. Par exemple, si dans une fonction de gestionnaire que je fais ceci:Réécriture de l'en-tête de réponse dans Yesod

addHeader "foo" "bar" 
addHeader "foo" "baz" 

Je reçois

foo: bar 
foo: baz 

mais je veux obtenir juste

foo: baz 

Dans mon cas, l'en-tête est une authentification jeton, et cela fonctionne de telle sorte que s'il est présent dans la requête, je le renvoie dans la réponse. J'ai implémenté cela comme un middleware. Toutefois, s'il s'agit d'une demande de connexion, un nouveau jeton est généré et il doit être envoyé à la place de la valeur de l'en-tête de la demande.

Répondre