Comment modifier une session dans le middleware Ring? Je veux fondamentalement avoir un historique des URL consultées stockées là-bas et je ne peux pas obtenir la session pour stocker des valeurs.Anneau: Comment modifier une session dans le middleware
Les sessions fonctionnent correctement ailleurs dans le code où je peux retourner des réponses. Je suppose que cela a quelque chose à voir avec le problème et je ne comprends pas quelque chose sur le fonctionnement des middlewares.
Voici mon code actuel
(defn wrap-history [handler]
(fn [req]
(handler (assoc-in req [:session :history]
(vec (concat (-> req :session :history) [(request/request-url req)]))))))
Voici l'application (j'utilise anneau par défaut qui inclut le middleware de session)
(def app
(-> all-routes
(wrap-history)
(wrap-defaults (assoc-in site-defaults [:security :anti-forgery] false))))
La réponse est probablement assez facile (probablement quelque chose à faire avec la façon de retourner la réponse de middleware au lieu de la demande) mais je ne semble pas être en mesure de trouver la documentation correcte pour cela ..