我正在尝试在使用 compojure 和 ring 的 luminus 项目中设置一个简单的中间件。我确定我遗漏了一些简单的东西,但是我设置了一个简单的中间件进行测试,但没有得到我期望的结果。
(defn wrap-api-auth [handler]
(if (= 2 2)
(unauthorized {:body "unauthorized"})
handler))
我希望这会返回 401,但它会一直返回 404。如果我更改 if 表达式 (= 2 3),路由会正确触发。作为参考,这是路由,它是 luminus 添加中间件后生成的默认路由之一。
(GET "/plus" []
:return Long
:middleware [wrap-api-auth]
:query-params [x :- Long, {y :- Long 1}]
:summary "x+y with query-parameters. y defaults to 1."
(ok (+ x y)))