From 6b83c2ae36336ab611a21a3278654ace396afa02 Mon Sep 17 00:00:00 2001 From: "Alexander K. Hudek" Date: Sun, 8 Dec 2013 22:11:28 -0500 Subject: [PATCH] Increased the keep alive timer per google recommendation. Fixed map parsing error when pairs are not in map order. --- .../src/net/thegeez/jetty_async_adapter.clj | 14 -------------- .../src/net/thegeez/browserchannel.clj | 14 ++++++++------ 2 files changed, 8 insertions(+), 20 deletions(-) diff --git a/clj-browserchannel-jetty-adapter/src/net/thegeez/jetty_async_adapter.clj b/clj-browserchannel-jetty-adapter/src/net/thegeez/jetty_async_adapter.clj index dbc9e4f..ad89ee1 100644 --- a/clj-browserchannel-jetty-adapter/src/net/thegeez/jetty_async_adapter.clj +++ b/clj-browserchannel-jetty-adapter/src/net/thegeez/jetty_async_adapter.clj @@ -31,20 +31,6 @@ (throw async-adapter/ConnectionClosedException))) (close [this] (.complete continuation))) - -#_(defn- add-ssl-connector! - "Add an SslSocketConnector to a Jetty Server instance." - [^Server server options] - (let [ssl-connector (SslSocketConnector.)] - (doto ssl-connector - (.setPort (options :ssl-port 8443)) - (.setKeystore (options :keystore)) - (.setKeyPassword (options :key-password))) - (when (options :truststore) - (.setTruststore ssl-connector (options :truststore))) - (when (options :trust-password) - (.setTrustPassword ssl-connector (options :trust-password))) - (.addConnector server ssl-connector))) (defn- add-ssl-connector! "Add an SslSelectChannelConnector to a Jetty Server instance." diff --git a/clj-browserchannel-server/src/net/thegeez/browserchannel.clj b/clj-browserchannel-server/src/net/thegeez/browserchannel.clj index 3fdb1d2..3177142 100644 --- a/clj-browserchannel-server/src/net/thegeez/browserchannel.clj +++ b/clj-browserchannel-server/src/net/thegeez/browserchannel.clj @@ -24,8 +24,8 @@ "X-Content-Type-Options" "nosniff" } :base "/channel" ;; root for /test and /bind urls - :keep-alive-interval 10 ;; seconds, keep less than session-time-out - :session-timeout-interval 15 ;; seconds + :keep-alive-interval 30 ;; seconds, keep less than session-time-out + :session-timeout-interval 120 ;; seconds ;; after this number of bytes a ;; backchannel will always be closed :data-threshold (* 10 1024) @@ -80,16 +80,18 @@ queue (recur (pop queue) id))))) - + +;; Key value pairs do not always come ordered by request number. +;; E.g. {req0_key1 val01, req1_key1 val11, req0_key2 val02, req1_key2 val12} (defn transform-url-data [data] - (let [ofs (get data "ofs" "0") + (let [ofs (get data "ofs" "0") pieces (dissoc data "count" "ofs")] {:ofs (Long/parseLong ofs) :maps (->> (for [[k v] pieces] (let [[_ n k] (re-find #"req(\d+)_(\w+)" k)] [n {k v}])) - (partition-by first) - (map #(into {} (map second %))))})) + (group-by first) ; {0 [[0 [k1 v2]] [0 [k2 v2]]],1 [[1 [k1 v1]] [1 [k2 v2]]]} + (map #(into {} (map second (val %)))))})) (assert (= {:ofs 0 :maps [{"x" "3" "y" "10"} {"abc" "def"}]} (transform-url-data {"count" "2"