|
14 | 14 | ;; :handler - not supported, see :on-success and :on-failure
|
15 | 15 | ;; :on-success - event vector dispatched with result
|
16 | 16 | ;; :on-failure - event vector dispatched with result
|
| 17 | +;; :on-request - event vector dispatched with raw xhrio object |
17 | 18 | ;;
|
18 | 19 | ;; NOTE: if you need tokens or other values for your handlers,
|
19 |
| -;; provide them in the on-success and on-failure event e.g. |
| 20 | +;; provide them in the on-success, on-failure & on-request events e.g. |
20 | 21 | ;; [:success-event "my-token"] your handler will get event-v
|
21 | 22 | ;; [:success-event "my-token" result]
|
22 | 23 |
|
|
51 | 52 | #(dispatch (conj on-success %))
|
52 | 53 | #(dispatch (conj on-failure %))
|
53 | 54 | api))
|
54 |
| - (dissoc :on-success :on-failure)))) |
| 55 | + (dissoc :on-success :on-failure :on-request)))) |
| 56 | + |
| 57 | +(defn dispatch-on-request [request xhrio] |
| 58 | + (if-let [on-request (:on-request request)] |
| 59 | + (dispatch (conj on-request xhrio)))) |
55 | 60 |
|
56 | 61 | ;; Specs commented out until ClojureScript has a stable release of spec.
|
57 | 62 | ;
|
|
66 | 71 | ;
|
67 | 72 | ;(s/def ::on-success vector?)
|
68 | 73 | ;(s/def ::on-failure vector?)
|
| 74 | +;(s/def ::on-request vector?) |
69 | 75 | ;
|
70 |
| -;(s/def ::request-map (s/and (s/keys :req-un [::method ::uri ::response-format ::on-success ::on-failure] |
| 76 | +;(s/def ::request-map (s/and (s/keys :req-un [::method ::uri ::response-format ::on-success ::on-failure ::on-request] |
71 | 77 | ; :opt-un [::format ::timeout ::params ::headers ::with-credentials])
|
72 | 78 | ; (fn [m] (if (contains? m :params)
|
73 | 79 | ; (contains? m :format)
|
|
85 | 91 | #_ #_ seq-request-maps (if (= :seq-request-maps conform-val) v [v])
|
86 | 92 | seq-request-maps (if (sequential? request) request [request])]
|
87 | 93 | (doseq [request seq-request-maps]
|
88 |
| - (-> request request->xhrio-options ajax/ajax-request)))) |
| 94 | + (let [xhrio (-> request request->xhrio-options ajax/ajax-request)] |
| 95 | + (dispatch-on-request request xhrio))))) |
89 | 96 |
|
90 | 97 | (reg-fx :http-xhrio http-effect)
|
0 commit comments