summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorScott Ostler <sostler@deathmachine.local>2010-02-24 08:05:07 -0500
committerScott Ostler <sostler@deathmachine.local>2010-02-24 08:05:07 -0500
commit49ef1a688025d9183452fe5f1dccf7802d64dc62 (patch)
treee69c1b2a23c02ea639e47570220cbbfee489041e
parent10e5c6b24b63e5a83922058d47380577808b8d3e (diff)
parent8003ba27e49a630b24090f3af01426f35e85af67 (diff)
Resolved cookie_login conflict
-rwxr-xr-xbin/repl.bat2
-rwxr-xr-xsrc/cookie_login.clj5
-rwxr-xr-xsrc/site.clj33
3 files changed, 29 insertions, 11 deletions
diff --git a/bin/repl.bat b/bin/repl.bat
index 2417315..ffa0230 100755
--- a/bin/repl.bat
+++ b/bin/repl.bat
@@ -1,3 +1,3 @@
REM Windows REPL script
-java -server -cp lib/commons-io-1.4.jar;lib/commons-fileupload-1.2.1.jar;lib/commons-codec-1.3.jar;lib/clojure.jar;lib/clojure-contrib.jar;lib/compojure-3.2v1.jar;lib/jetty-6.1.14.jar;lib/jetty-util-6.1.14.jar;lib/servlet-api-2.5-6.1.14.jar;lib/jline-0.9.94.jar;lib/postgresql-8.4-701.jdbc4.jar;lib/stringtemplate-3.2.1.jar;lib/antlr-2.7.7.jar;src/ jline.ConsoleRunner clojure.lang.Repl %1 \ No newline at end of file
+java -Xmx256m -server -cp lib/commons-io-1.4.jar;lib/commons-fileupload-1.2.1.jar;lib/commons-codec-1.3.jar;lib/clojure.jar;lib/clojure-contrib.jar;lib/compojure-3.2v1.jar;lib/jetty-6.1.14.jar;lib/jetty-util-6.1.14.jar;lib/servlet-api-2.5-6.1.14.jar;lib/jline-0.9.94.jar;lib/postgresql-8.4-701.jdbc4.jar;lib/stringtemplate-3.2.1.jar;lib/antlr-2.7.7.jar;src/ jline.ConsoleRunner clojure.lang.Repl %1 \ No newline at end of file
diff --git a/src/cookie_login.clj b/src/cookie_login.clj
index e507876..8c948a6 100755
--- a/src/cookie_login.clj
+++ b/src/cookie_login.clj
@@ -38,7 +38,7 @@
"Middleware to support automatic cookie login. Must be placed after
the with-session middleware.
-Must be given three arguments:
+ Must be given three arguments:
- process-login-token?
Function to apply to request map to determine whether to
process login token or not. If a false value is returned,
@@ -56,8 +56,7 @@ Must be given three arguments:
- *login-token-expiry*
The number of milliseconds a login token is valid for.
- Defaults to one week.
-"
+ Defaults to one week."
[handler process-login-token? token-maker token-reader]
(let [login-token-key *login-token-key*
login-token-expiry *login-token-expiry*]
diff --git a/src/site.clj b/src/site.clj
index 4ffa3cf..4db69e8 100755
--- a/src/site.clj
+++ b/src/site.clj
@@ -13,8 +13,10 @@
clojure.contrib.json.write
clojure.contrib.sql
compojure
+ utils
cookie-login
- utils))
+ session-sweeper
+ feed))
(def *run-flusher* true)
(def *flusher-sleep-ms* 4000)
@@ -33,9 +35,7 @@
(def rooms (ref {}))
(def flusher (agent nil))
-(defn flush! [x]
- (when *run-flusher*
- (send-off *agent* #'flush!))
+(defn flush-inactive-users! [x]
(doseq [[rid room] @rooms]
(dosync
(let [users (room :users)
@@ -43,9 +43,14 @@
alive? (fn [[n u]] (> (u :last-seen) (- now *user-timeout-ms*)))]
(ref-set users
(into {} (filter alive? @users))))))
- (. Thread (sleep *flusher-sleep-ms*))
+ (Thread/sleep *flusher-sleep-ms*)
+ (when *run-flusher*
+ (send *agent* #'flush-inactive-users!))
x)
+(defn start-user-flusher! []
+ (send flusher flush-inactive-users!))
+
;; Configuration
(def *server-url*
@@ -578,8 +583,7 @@
(defn serve-static [dir path]
; TODO: cache policy for other static files (js, css, etc.)
(let [cache-header (if (re-find pic-regex path)
- {:headers {"Cache-Control"
- "post-check=3600,pre-check=43200"}}
+ {:headers {"Cache-Control" "max-age=604800,public"}}
{})]
[cache-header
(serve-file dir path)]))
@@ -659,6 +663,7 @@
(doseq [room-db (fetch-rooms)]
(alter rooms assoc (room-db :key)
(build-room-map-from-db room-db))))
+<<<<<<< HEAD
(run-server {:port 8080}
"/static/*" (servlet static)
@@ -668,3 +673,17 @@
"/*" (servlet pichat))
(send-off flusher flush!)
+=======
+
+(defn start-server
+ ([port] (run-server {:port port}
+ "/static/*" (servlet static)
+ "/images/*" (servlet static)
+ "/upload" (servlet multipart)
+ "/*" (servlet pichat)))
+ ([] (start-server 8080)))
+
+(start-server)
+(start-user-flusher!)
+(start-session-pruner!)
+>>>>>>> 8003ba27e49a630b24090f3af01426f35e85af67