Я хочу сделать новый перехватчик пьедестал, который будет запускаться на этапе ухода. Я хочу изменить контекст, чтобы добавить строку токена в базу каждой страницы html (для использования в отчетах «site alive»).Как использовать функцию «после» для создания перехватчика в пьедестале
Из исходного кода Пьедестал here Я вижу эту функцию:
(defn after
"Return an interceptor which calls `f` on context during the leave
stage."
([f] (interceptor {:leave f}))
([f & args]
(let [[n f args] (if (fn? f)
[nil f args]
[f (first args) (rest args)])]
(interceptor {:name (interceptor-name n)
:leave #(apply f % args)}))))
Так что мне нужно предоставить ему функцию, которая затем будет вставлена в карту перехватчика. В этом есть смысл. Тем не менее, как я могу написать эту функцию, ссылаясь на контекст, когда «контекст» не в области видимости?
Я хотел бы сделать что-то вроде:
...[io.pedestal.interceptor.helpers :as h]...
(defn my-token-interceptor []
(h/after
(fn [ctx]
(assoc ctx :response {...}))))
Но 'CTX' не в объеме? Благодарю.
Вам нужно «установить» перехватчик в маршрутах. Можете ли вы показать эту часть своего кода? – ClojureMostly