   (let [client (fn [req respond raise] (respond {:status 200 :req req}))
         r-client (-> client client/wrap-redirects)
         resp (promise)
-        execption (promise)
+        exception (promise)
         _ (r-client {:scheme :http :server-name "example.com" :uri "/"
-                     :request-method :get} resp execption)]
+                     :request-method :get} resp exception)]
     (is (= 200 (:status @resp)))
     (is (= :get (:request-method (:req @resp))))
     (is (= :http (:scheme (:req @resp))))
     (is (= [] (:trace-redirects @resp)))
-    (is (not (realized? execption)))))
+    (is (not (realized? exception)))))
 
 (deftest redirect-without-location-header
   (let [client (fn [req]

(deftest apply-on-method-async
  (let [m-client (client/wrap-method async-identity-client)
        echo (promise)
        execption (promise)
        _ (m-client {:key :val :method :post} echo execption)]
    (is (= :val (:key @echo)))
    (is (= :post (:request-method @echo)))
    (is (not (:method @echo)))))

(defn is-applied-async [middleware req-in req-out]
  (let [client (middleware async-identity-client)
        resp (promise)
        exception (promise)
        _ (client req-in resp exception)]
    (is (= req-out @resp))
    (is (not (realized? exception)))))

(deftest redirect-on-get
  (let [client (fn [req]
