Как изменить сеанс в промежуточном программном обеспечении кольца? Я в основном хочу, чтобы там хранилась история посещенных URL-адресов, и я просто не могу заставить сеанс хранить значения.
Сеансы работают правильно в другом месте кода, где я могу возвращать ответы. Я предполагаю, что это как-то связано с проблемой, и я чего-то не понимаю в том, как работает промежуточное программное обеспечение.
Вот мой текущий код
(defn wrap-history [handler]
(fn [req]
(handler (assoc-in req [:session :history]
(vec (concat (-> req :session :history) [(request/request-url req)]))))))
Вот приложение (я использую параметры по умолчанию, которые включают промежуточное ПО для сеанса)
(def app
(-> all-routes
(wrap-history)
(wrap-defaults (assoc-in site-defaults [:security :anti-forgery] false))))
Ответ, вероятно, довольно прост (вероятно, это связано с тем, как вернуть ответ от промежуточного программного обеспечения вместо запроса), но я просто не могу найти правильную документацию для этого ..