File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 342342 (let [middleware (pre-init middleware)
343343 prep-request (fn [request]
344344 (let [mw (:route-middleware request identity)]
345- (assoc request :route-middleware (comp middleware mw ))))]
345+ (assoc request :route-middleware (comp mw middleware ))))]
346346 (fn
347347 ([request]
348348 (handler (prep-request request)))
Original file line number Diff line number Diff line change 286286 middleware (fn [h] (fn [r] (reset! matched (:compojure/route r)) (h r)))
287287 handler (wrap-routes route middleware)
288288 response (handler (mock/request :get " /foo" ))]
289- (is (= @matched [:get " /foo" ])))))
289+ (is (= @matched [:get " /foo" ]))))
290+
291+ (testing " nested route-middlewares are applied in order"
292+ (let [mw (fn [handler value]
293+ (fn [req]
294+ (let [resp (handler (update req :stack str value))]
295+ (update resp :body str value))))
296+ handler (wrap-routes
297+ (routes
298+ (wrap-routes (GET " /foo" req (:stack req)) mw " a" )
299+ (wrap-routes (GET " /bar" req (:stack req)) mw " b" ))
300+ mw
301+ " 1" )]
302+ (is (= " 1aa1" (:body (handler (mock/request :get " /foo" )))))
303+ (is (= " 1bb1" (:body (handler (mock/request :get " /bar" ))))))))
290304
291305(deftest route-information-test
292306 (let [route (GET " /foo/:id" req req)
You can’t perform that action at this time.
0 commit comments