mirror of
https://github.com/metosin/reitit.git
synced 2025-12-16 16:01: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)
|
||||
|
||||
## `reitit-ring`
|
||||
|
|
|
|||
|
|
@ -139,7 +139,7 @@
|
|||
(impl/fast-assoc ::r/router router))]
|
||||
(or (interceptor/execute executor interceptors 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]
|
||||
(let [default #(interceptor/execute executor default-queue % respond raise)]
|
||||
(if-let [match (r/match-by-path router (:uri request))]
|
||||
|
|
@ -158,7 +158,7 @@
|
|||
(if interceptors
|
||||
(interceptor/execute executor interceptors request respond' raise)
|
||||
(default request)))
|
||||
(default request)))
|
||||
(default (impl/fast-assoc request ::r/router router))))
|
||||
nil))
|
||||
{::r/router router}))))
|
||||
|
||||
|
|
|
|||
|
|
@ -226,7 +226,7 @@
|
|||
(impl/fast-assoc ::r/match match)
|
||||
(impl/fast-assoc ::r/router router))]
|
||||
(or (handler request) (default-handler request)))
|
||||
(default-handler request)))
|
||||
(default-handler (impl/fast-assoc request ::r/router router))))
|
||||
([request respond raise]
|
||||
(if-let [match (r/match-by-path router (:uri request))]
|
||||
(let [method (:request-method request)
|
||||
|
|
@ -238,7 +238,7 @@
|
|||
(impl/fast-assoc ::r/match match)
|
||||
(impl/fast-assoc ::r/router router))]
|
||||
((routes handler default-handler) request respond raise))
|
||||
(default-handler request respond raise))
|
||||
(default-handler (impl/fast-assoc request ::r/router router) respond raise))
|
||||
nil)))
|
||||
{::r/router router}))))
|
||||
|
||||
|
|
|
|||
|
|
@ -487,3 +487,20 @@
|
|||
(is (= {:enter {:top 1, :api 1, :ping 1, :get 1}
|
||||
:leave {:get 1, :ping 1, :api 1, :top 1}}
|
||||
@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 (get-in @result [:headers "Last-Modified"]))
|
||||
(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