From 89c995fb39b3adbece1061024285714a5825a11e Mon Sep 17 00:00:00 2001 From: sostler Date: Mon, 9 Nov 2009 20:29:47 -0500 Subject: Fix CRLF --- src/site.clj | 143 ++++++++++++++++++++++++++++++----------------------------- 1 file changed, 72 insertions(+), 71 deletions(-) mode change 100755 => 100644 src/site.clj (limited to 'src') diff --git a/src/site.clj b/src/site.clj old mode 100755 new mode 100644 index 33b1bb3..1206a33 --- a/src/site.clj +++ b/src/site.clj @@ -1,71 +1,72 @@ -; site.clj - -(ns pichat - (:import java.lang.System) - (:use compojure - clojure.contrib.json.write)) - -(defstruct user-struct :nick :last-seen) -(defstruct message-struct :nick :content :timestamp) - -(def users (ref {})) -(def messages (ref [])) - -(defn resp-error [message] - {:status 400 :headers {} :body message}) - -(defn resp-success [message] - {:status 200 :headers {} :body (json-str message)}) - -(defn join-success [nick] - (alter users assoc nick (struct user-struct nick (System/currentTimeMillis))) - (let [users (keys @users) - messages (take 20 @messages) - data {"users" users "messages" messages}] - [(session-assoc :nick nick) - (resp-success data)])) - -(defn try-join [params] - (let [nick (params :nick)] - (dosync - (if (contains? @users nick) - (resp-error "NICK_TAKEN") - (join-success nick))))) - -(defn new-messages [since] - (reverse (take-while (fn [m] (> (m :timestamp) since)) @messages))) - -(defn refresh [nick] - (dosync - (let [last-seen (get-in @users [nick :last-seen])] - (alter users assoc-in [nick :last-seen] (System/currentTimeMillis)) - (resp-success {"messages" (new-messages last-seen)})))) - -(defn swap [f] - (fn [& more] (apply f (reverse more)))) - -(defn msg [session params] - (dosync - (let [nick (session :nick) - content (params :content) - msg (struct message-struct nick content (System/currentTimeMillis))] - (if (contains? @users nick) - (do (alter messages (swap cons) msg) - (resp-success "OK")) - (resp-error "UNKNOWN_USER"))))) - -(defroutes pichat - (GET "/" (serve-file "static" "index.html")) - (GET "/static/*" (or (serve-file "static" (params :*)) - :next)) - (GET "/join" (try-join params)) - (GET "/refresh" (refresh (session :nick))) - (GET "/msg" (msg session params)) - (ANY "*" [404 "Page not found"])) - -(decorate pichat - (with-mimetypes) - (with-session {:type :memory, :expires (* 60 60)})) - -(run-server {:port 8080} - "/*" (servlet pichat)) +; site.clj + +(ns pichat + (:import java.lang.System) + (:use compojure + clojure.contrib.json.write)) + +(defstruct user-struct :nick :last-seen) +(defstruct message-struct :nick :content :timestamp) + +(def users (ref {})) +(def messages (ref [])) + +(defn resp-error [message] + {:status 400 :headers {} :body message}) + +(defn resp-success [message] + {:status 200 :headers {} :body (json-str message)}) + +(defn join-success [nick] + (alter users assoc nick (struct user-struct nick (System/currentTimeMillis))) + (let [users (keys @users) + messages (take 20 @messages) + data {"users" users "messages" messages}] + [(session-assoc :nick nick) + (resp-success data)])) + +(defn try-join [params] + (let [nick (params :nick)] + (dosync + (if (contains? @users nick) + (resp-error "NICK_TAKEN") + (join-success nick))))) + +(defn new-messages [since] + (reverse (take-while (fn [m] (> (m :timestamp) since)) @messages))) + +(defn refresh [nick] + (dosync + (let [last-seen (get-in @users [nick :last-seen])] + (alter users assoc-in [nick :last-seen] (System/currentTimeMillis)) + (resp-success {"messages" (new-messages last-seen)})))) + +(defn swap [f] + (fn [& more] (apply f (reverse more)))) + +(defn msg [session params] + (dosync + (let [nick (session :nick) + content (params :content) + msg (struct message-struct nick content (System/currentTimeMillis))] + (if (contains? @users nick) + (do (alter messages (swap cons) msg) + (resp-success "OK")) + (resp-error "UNKNOWN_USER"))))) + +(defroutes pichat + (GET "/" (serve-file "static" "index.html")) + (GET "/static/*" (or (serve-file "static" (params :*)) + :next)) + (GET "/join" (try-join params)) + (GET "/refresh" (refresh (session :nick))) + (GET "/msg" (msg session params)) + (ANY "*" [404 "Page not found"])) + +(decorate pichat + (with-mimetypes) + (with-session {:type :memory, :expires (* 60 60)})) + +(run-server {:port 80} + "/*" (servlet pichat)) + -- cgit v1.2.3-70-g09d2