File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 4141 do not match the request uri. Be careful with middlewares that
4242 have side-effects."
4343 [middleware & body]
44- (mw/assert-middleware middleware)
4544 (let [routes? (> (count body) 1 )]
4645 `(let [body# ~(if routes? `(routes ~@body) (first body))
4746 wrap-mw# (mw/compose-middleware ~middleware)]
Original file line number Diff line number Diff line change 254254
255255; Applies the given vector of middlewares to the route
256256(defmethod restructure-param :middleware [_ middleware acc]
257- (mw/assert-middleware middleware)
258257 (update-in acc [:middleware ] into middleware))
259258
260259; Bind to stuff in request components using letk syntax
Original file line number Diff line number Diff line change 240240 wrap-nested-params
241241 wrap-params))))
242242
243- (defn assert-middleware [middleware]
244- (assert (and (vector? middleware) (every? #(or (and (vector? %1 ) (ifn? (first %1 ))) (ifn? %1 )) middleware))
245- (str " Middleware vector must only contain\n "
246- " a) fully configured middleware (function) or\n "
247- " b) vectors containing middleware function and additional parameters for it." )))
248-
249243(defn middleware-fn [middleware]
250244 (if (vector? middleware)
251245 (let [[f & arguments] middleware]
Original file line number Diff line number Diff line change 8484 (middleware [middleware* [middleware* 2 ]]
8585 (context " /middlewares" []
8686 (GET " /simple" req (reply-mw* req))
87- (middleware [[ middleware* 3 ] [middleware* 4 ]]
87+ (middleware [#( middleware* % 3 ) [middleware* 4 ]]
8888 (GET " /nested" req (reply-mw* req))
8989 (GET " /nested-declared" req
90- :middleware [[ middleware* 5 ] [middleware* 6 ]]
90+ :middleware [( fn [handler] ( middleware* handler 5 )) [middleware* 6 ]]
9191 (reply-mw* req))))))]
9292
9393 (fact " are applied left-to-right"
11261126 (fact " throwing exceptions"
11271127 (api {:api {:invalid-routes-fn routes/fail-on-invalid-child-routes}} invalid-routes)) => throws ))
11281128
1129- (fact " old middleware format"
1130- (macroexpand '(middleware [(middleware* 5 )]
1131- (GET " /normal" [] (ok ))))
1132- => (throws AssertionError)
1133-
1134- (macroexpand '(GET " /normal" []
1135- :middleware [(middleware* 5 )]
1136- (ok )))
1137- => (throws AssertionError))
1138-
11391129(defmethod compojure.api.meta /restructure-param ::deprecated-middlewares-test [_ _ acc]
11401130 (assoc acc :middlewares [(constantly nil )]))
11411131
You can’t perform that action at this time.
0 commit comments