From 2d71b37246cd7524630a1d1786d6b820a4faf287 Mon Sep 17 00:00:00 2001 From: Tommi Reiman Date: Sat, 22 Sep 2018 21:47:55 +0300 Subject: [PATCH] CHANGELOG --- CHANGELOG.md | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3ddee3e9..24c725c3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,35 @@ ## `reitit-ring` +* `ring-handler` takes optionally a 3rd argument, an options map which can be used to se top-level middleware, applied before any routing is done: + +```clj +(require '[reitit.ring :as ring]) + +(defn wrap [handler id] + (fn [request] + (handler (update request ::acc (fnil conj []) id)))) + +(defn handler [{:keys [::acc]}] + {:status 200, :body (conj acc :handler)}) + +(def app + (ring/ring-handler + (ring/router + ["/api" {:middleware [[mw :api]]} + ["/get" {:get handler}]]) + (ring/create-default-handler) + {:middleware [[mw :top]]})) + +(app {:request-method :get, :uri "/api/get"}) +; {:status 200, :body [:top :api :ok]} + +(require '[reitit.core :as r]) + +(-> app (ring/get-router)) +; #object[reitit.core$single_static_path_router] +``` + * updated deps: ```clj