From 21b056be70e0eab0db4fdbe1b2fd7b17dbd56b99 Mon Sep 17 00:00:00 2001 From: Ambrose Bonnaire-Sergeant Date: Mon, 22 Apr 2024 00:19:59 -0500 Subject: [PATCH] system property for `middleware` --- src/compojure/api/core.clj | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/compojure/api/core.clj b/src/compojure/api/core.clj index b8a0853d..024a71fe 100644 --- a/src/compojure/api/core.clj +++ b/src/compojure/api/core.clj @@ -38,7 +38,7 @@ (routes/create nil nil {} nil (partial handle handlers)))) (defmacro middleware - "Wraps routes with given middleware using thread-first macro. + "Wraps routes with given middlewares using thread-first macro. Note that middlewares will be executed even if routes in body do not match the request uri. Be careful with middleware that @@ -47,6 +47,10 @@ :deprecated "1.1.14" :superseded-by "route-middleware"} [middleware & body] + (assert (= "true" (System/getProperty "compojure.api.core.allow-dangerous-middleware")) + (str "compojure.api.core.middleware is deprecated because of security issues. " + "Please use route-middleware instead. " + "Set compojure.api.core.allow-dangerous-middleware=true to keep using middleware.")) `(let [body# (routes ~@body) wrap-mw# (mw/compose-middleware ~middleware)] (routes/create nil nil {} [body#] (wrap-mw# body#))))