mirror of
https://github.com/metosin/reitit.git
synced 2025-12-17 16:31:11 +00:00
Router is injected into request in the default branch
* releated to #159
This commit is contained in:
parent
24d39cde28
commit
0095aece21
5 changed files with 43 additions and 4 deletions
10
CHANGELOG.md
10
CHANGELOG.md
|
|
@ -1,3 +1,13 @@
|
||||||
|
## UNRELEASED
|
||||||
|
|
||||||
|
## `reitit-ring`
|
||||||
|
|
||||||
|
* router is injected into request also in the default branch
|
||||||
|
|
||||||
|
## `reitit-http`
|
||||||
|
|
||||||
|
* router is injected into request also in the default branch
|
||||||
|
|
||||||
## 0.2.4 (21.10.2018)
|
## 0.2.4 (21.10.2018)
|
||||||
|
|
||||||
## `reitit-ring`
|
## `reitit-ring`
|
||||||
|
|
|
||||||
|
|
@ -139,7 +139,7 @@
|
||||||
(impl/fast-assoc ::r/router router))]
|
(impl/fast-assoc ::r/router router))]
|
||||||
(or (interceptor/execute executor interceptors request)
|
(or (interceptor/execute executor interceptors request)
|
||||||
(interceptor/execute executor default-queue request)))
|
(interceptor/execute executor default-queue request)))
|
||||||
(interceptor/execute executor default-queue request)))
|
(interceptor/execute executor default-queue (impl/fast-assoc request ::r/router router))))
|
||||||
([request respond raise]
|
([request respond raise]
|
||||||
(let [default #(interceptor/execute executor default-queue % respond raise)]
|
(let [default #(interceptor/execute executor default-queue % respond raise)]
|
||||||
(if-let [match (r/match-by-path router (:uri request))]
|
(if-let [match (r/match-by-path router (:uri request))]
|
||||||
|
|
@ -158,7 +158,7 @@
|
||||||
(if interceptors
|
(if interceptors
|
||||||
(interceptor/execute executor interceptors request respond' raise)
|
(interceptor/execute executor interceptors request respond' raise)
|
||||||
(default request)))
|
(default request)))
|
||||||
(default request)))
|
(default (impl/fast-assoc request ::r/router router))))
|
||||||
nil))
|
nil))
|
||||||
{::r/router router}))))
|
{::r/router router}))))
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -226,7 +226,7 @@
|
||||||
(impl/fast-assoc ::r/match match)
|
(impl/fast-assoc ::r/match match)
|
||||||
(impl/fast-assoc ::r/router router))]
|
(impl/fast-assoc ::r/router router))]
|
||||||
(or (handler request) (default-handler request)))
|
(or (handler request) (default-handler request)))
|
||||||
(default-handler request)))
|
(default-handler (impl/fast-assoc request ::r/router router))))
|
||||||
([request respond raise]
|
([request respond raise]
|
||||||
(if-let [match (r/match-by-path router (:uri request))]
|
(if-let [match (r/match-by-path router (:uri request))]
|
||||||
(let [method (:request-method request)
|
(let [method (:request-method request)
|
||||||
|
|
@ -238,7 +238,7 @@
|
||||||
(impl/fast-assoc ::r/match match)
|
(impl/fast-assoc ::r/match match)
|
||||||
(impl/fast-assoc ::r/router router))]
|
(impl/fast-assoc ::r/router router))]
|
||||||
((routes handler default-handler) request respond raise))
|
((routes handler default-handler) request respond raise))
|
||||||
(default-handler request respond raise))
|
(default-handler (impl/fast-assoc request ::r/router router) respond raise))
|
||||||
nil)))
|
nil)))
|
||||||
{::r/router router}))))
|
{::r/router router}))))
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -487,3 +487,20 @@
|
||||||
(is (= {:enter {:top 1, :api 1, :ping 1, :get 1}
|
(is (= {:enter {:top 1, :api 1, :ping 1, :get 1}
|
||||||
:leave {:get 1, :ping 1, :api 1, :top 1}}
|
:leave {:get 1, :ping 1, :api 1, :top 1}}
|
||||||
@times))))
|
@times))))
|
||||||
|
|
||||||
|
(deftest router-available-in-default-branch
|
||||||
|
(testing "1-arity"
|
||||||
|
((http/ring-handler
|
||||||
|
(http/router [])
|
||||||
|
(fn [{:keys [::r/router]}]
|
||||||
|
(is router))
|
||||||
|
{:executor sieppari/executor})
|
||||||
|
{}))
|
||||||
|
(testing "3-arity"
|
||||||
|
((http/ring-handler
|
||||||
|
(http/router [])
|
||||||
|
(fn [{:keys [::r/router]}]
|
||||||
|
(println "here...")
|
||||||
|
(is router))
|
||||||
|
{:executor sieppari/executor})
|
||||||
|
{} (promise) (promise))))
|
||||||
|
|
|
||||||
|
|
@ -487,3 +487,15 @@
|
||||||
(is (= "text/xml" (get-in @result [:headers "Content-Type"])))
|
(is (= "text/xml" (get-in @result [:headers "Content-Type"])))
|
||||||
(is (get-in @result [:headers "Last-Modified"]))
|
(is (get-in @result [:headers "Last-Modified"]))
|
||||||
(is (= "<xml><hello>file</hello></xml>\n" (slurp (:body @result)))))))))))))
|
(is (= "<xml><hello>file</hello></xml>\n" (slurp (:body @result)))))))))))))
|
||||||
|
|
||||||
|
(deftest router-available-in-default-branch
|
||||||
|
(testing "1-arity"
|
||||||
|
((ring/ring-handler
|
||||||
|
(ring/router [])
|
||||||
|
(fn [{:keys [::r/router]}]
|
||||||
|
(is router))) {}))
|
||||||
|
(testing "3-arity"
|
||||||
|
((ring/ring-handler
|
||||||
|
(ring/router [])
|
||||||
|
(fn [{:keys [::r/router]} _ _]
|
||||||
|
(is router))) {} (promise) (promise))))
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue