休暇中に新しいペデスタルインターセプタを実行することを希望します。コンテキストを変更して、各HTMLページのベースにトークン文字列を追加したいとします( 'site alive'レポートで使用するため)。ペデスタルでインターセプタを作成するための 'after'関数の使用方法
ペデスタルソースコード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)}))))
だから私はインターセプター・マップに挿入される関数でそれを提供する必要があります。それは理にかなっている。しかし、 'context'がスコープに含まれていない場合、どのようにコンテキストを参照するこの関数を書くことができますか?
...[io.pedestal.interceptor.helpers :as h]...
(defn my-token-interceptor []
(h/after
(fn [ctx]
(assoc ctx :response {...}))))
しかし、 'CTX' スコープではありません。
は、私のような何かをしたいですか?ありがとう。
あなたはあなたのルートでインターセプタを「インストール」する必要があります。コードの一部を表示できますか? – ClojureMostly