add response-timeout option to immutant adapter (same as jetty adapter)
This commit is contained in:
parent
579945fbda
commit
37db9ce909
|
@ -12,7 +12,7 @@
|
|||
[prismatic/dommy "1.1.0"]
|
||||
[gered/clj-browserchannel "0.3"]
|
||||
[gered/clj-browserchannel-jetty-adapter "0.1.0"]
|
||||
[gered/clj-browserchannel-immutant-adapter "0.0.1"]
|
||||
[gered/clj-browserchannel-immutant-adapter "0.0.2"]
|
||||
[org.immutant/web "2.1.4"]
|
||||
[environ "1.0.3"]]
|
||||
|
||||
|
|
|
@ -58,7 +58,7 @@
|
|||
(defn -main [& args]
|
||||
(if (env :dev) (pebble/set-options! :cache false))
|
||||
|
||||
(run-jetty)
|
||||
;(run-immutant)
|
||||
;(run-jetty)
|
||||
(run-immutant)
|
||||
|
||||
)
|
||||
|
|
|
@ -1,10 +1,14 @@
|
|||
# clj-browserchannel-immutant-adapter
|
||||
|
||||
Immutant async adapter for BrowserChannel
|
||||
Immutant async adapter for BrowserChannel.
|
||||
|
||||
See also: [clj-browserchannel][1]
|
||||
[1]:https://github.com/gered/clj-browserchannel
|
||||
|
||||
## Leiningen
|
||||
|
||||
[gered/clj-browserchannel-immutant-adapter "0.0.1"]
|
||||
|
||||
## About
|
||||
|
||||
Written by:
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
(defproject gered/clj-browserchannel-immutant-adapter "0.0.1"
|
||||
(defproject gered/clj-browserchannel-immutant-adapter "0.0.2"
|
||||
:description "Immutant async adapter for BrowserChannel"
|
||||
:dependencies [[gered/clj-browserchannel "0.3"]]
|
||||
:profiles {:provided
|
||||
|
|
|
@ -22,14 +22,22 @@
|
|||
|
||||
(defn wrap-immutant-async-adapter
|
||||
"wraps the ring handler with an async adapter necessary for
|
||||
browserchannel sessions."
|
||||
[handler]
|
||||
browserchannel sessions.
|
||||
|
||||
options available:
|
||||
|
||||
:response-timeout - Timeout after which the server will close the
|
||||
connection. Specified in milliseconds, default
|
||||
is 4 minutes which is the timeout period Google
|
||||
uses."
|
||||
[handler & [options]]
|
||||
(fn [request]
|
||||
(let [resp (handler request)]
|
||||
(if (= :http (:async resp))
|
||||
(iasync/as-channel
|
||||
request
|
||||
{:on-open
|
||||
{:timeout (get options :response-timeout (* 4 60 1000))
|
||||
:on-open
|
||||
(fn [channel]
|
||||
(let [reactor (:reactor resp)
|
||||
emit (ImmutantResponse. channel)]
|
||||
|
@ -44,8 +52,15 @@
|
|||
use wrap-immutant-async-adapter instead and not use this function.
|
||||
|
||||
options is passed directly to immutant. see immutant.web/run
|
||||
for a description of the available options."
|
||||
for a description of the available options.
|
||||
|
||||
some additional options used by the async adapter are available:
|
||||
|
||||
:response-timeout - Timeout after which the server will close the
|
||||
connection. Specified in milliseconds, default
|
||||
is 4 minutes which is the timeout period Google
|
||||
uses."
|
||||
[handler options]
|
||||
(-> handler
|
||||
(wrap-immutant-async-adapter)
|
||||
(wrap-immutant-async-adapter options)
|
||||
(iweb/run options)))
|
||||
|
|
Reference in a new issue