This code hangs forever:
(let [client (http/create-client :request-timeout 1500
:error (fn [_ _] (throw (Exception. "boom!"))))]
It appears that the exception in the :error function eliminates any chance of the underlying promise ever being delivered. It would be nice if http.async.client would protect against bugs in the :error function.
Thanks for the bug report.
I've pushed v0.5.3-SNAPSHOT to clojars.
Please test it and let me know if it works for you.
This bug is fixed in version 0.5.3 and later.