Я пытаюсь получить доступ к базовым данным сеанса в кольцевом промежуточном программном обеспечении, чтобы в моем случае скопировать данные пользователя в запрос для облегчения доступа.Доступ к данным сеанса в кольцевом промежуточном программном обеспечении
(def app
(->
(handler/site app-routes)
(wrap-user-auth) ; <--- my middleware
(session/wrap-session {:store (cookie-store {:key "something super secret"})})))
Middleware:
(defn wrap-user-auth [handler]
(fn [request]
(println request)
(let [user (get (request :session) :user nil)]
(let [response
(handler
(if-not (nil? user)
(assoc request :user user :is_authenticated? true)
(assoc request :user nil :is_authenticated? false)))]
response
))))
данные сеанс всегда пусто при печати запроса, даже если он был установлен и доступно через представление. Я попытался возиться со стандартным программным обеспечением, но не могу понять, почему атом пуст.
Некоторые случайные маршрут, где данные сеанса доступны
(ANY "/foo" request (println (request :session)))