打破环形中间件方案

问题描述 投票:3回答:1

Ring超级时尚,并且对中间件有一些相当明智的默认设置。

[当我通过leiningen(lein)制作了一个新应用时,我在路由器/处理器中得到了类似的结果

(def app
  (wrap-defaults app-routes site-defaults))

https://github.com/ring-clojure/ring-defaults

现在,我想添加更多中间件(cemerick / friend),这样我就可以进行登录身份验证之类的操作。

因此,我如何将以上内容转换为更类似于环形中间件“堆栈”的内容,例如页面https://github.com/ring-clojure/ring-defaults/blob/master/src/ring/middleware/defaults.clj的底部>

(def app
  (-> handler  
    (wrap-anti-forgery)
    (wrap-flash)
    (wrap-session)
    (wrap-keyword-params)
    (wrap-resource)
    (wrap wrap-file)))
    

Ring超级时尚,并且中间件具有一些非常合理的默认值。当我通过leiningen(lein)制作新应用时,我在路由器/处理程序中得到了类似的内容(def app(wrap -...

clojure middleware ring
1个回答
5
投票

因为环只对中间件使用函数组合,所以您只需将朋友包装在调用中即可包装默认值:

© www.soinside.com 2019 - 2024. All rights reserved.