Advertisement
Guest User

Untitled

a guest
Dec 25th, 2015
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. (defproject test "0.1.0-SNAPSHOT"
  2.   :dependencies [[org.clojure/clojure "1.7.0"]
  3.                  [org.clojure/clojurescript "1.7.170"]
  4.                  [org.clojure/core.async "0.2.374"]
  5.                  [jayq "2.5.4"]
  6.                  [http-kit "2.1.18"]
  7.                  [com.taoensso/sente "1.7.0"]
  8.                  [compojure "1.4.0"]]
  9.  
  10.   :plugins [[lein-cljsbuild "1.1.1"]
  11.             [lein-figwheel "0.5.0-1"]]
  12.  
  13.   :clean-targets ^{:protect false} ["resources/public/js/compiled" "target"]
  14.  
  15.   :profiles {:dev {:dependencies [[com.cemerick/piggieback "0.2.1"]
  16.                                   [figwheel-sidecar "0.5.0-1"]]
  17.                    :injections [(use 'figwheel-sidecar.repl-api)
  18.                                 (start-figwheel!)]
  19.                    :repl-options {:nrepl-middleware [cemerick.piggieback/wrap-cljs-repl]}
  20.                    :source-paths ["src/clj" "src/cljs"]}}
  21.  
  22.   :cljsbuild {:builds
  23.               [{:id "dev"
  24.                 :source-paths ["src/clj" "src/cljs"]
  25.  
  26.                 :figwheel {
  27.                            :on-jsload "test.game/on-js-reload"
  28.                            :css-dirs ["resources/public/css"]
  29.                            :ring-handler test.server/handler
  30.                            }
  31.  
  32.                 :compiler {:warnings true
  33.                            :asset-path "js/compiled/out"
  34.                            :output-to "resources/public/js/compiled/test.js"
  35.                            :output-dir "resources/public/js/compiled/out"
  36.                            :source-map-timestamp true}}]})
  37.  
  38. ;; server.clj
  39. (ns test.server
  40.   (:require
  41.    [taoensso.sente :as sente]
  42.    [taoensso.sente.server-adapters.http-kit :refer (sente-web-server-adapter)]
  43.    [ring.middleware.params]
  44.    [ring.middleware.keyword-params]
  45.    [compojure.core :refer [defroutes GET POST]]
  46.    ))
  47.  
  48. (let [{:keys [ch-recv send-fn ajax-post-fn ajax-get-or-ws-handshake-fn
  49.               connected-uids]}
  50.       (sente/make-channel-socket! sente-web-server-adapter {})]
  51.   (def ring-ajax-post ajax-post-fn)
  52.   (def ring-ajax-get-or-ws-handshake ajax-get-or-ws-handshake-fn)
  53.   (def ch-chk ch-recv)
  54.   (def chsk-send! send-fn)
  55.   (def connected-uids connected-uids))
  56.  
  57. (defroutes routes
  58.   (GET "/test" [] "<h1>Hello World</h1>")
  59.   (GET "/chsk" req (ring-ajax-get-or-ws-handshake req))
  60.   (POST "/chsk" req (ring-ajax-post req)))
  61.  
  62. (def handler
  63.   (-> routes
  64.       ring.middleware.keyword-params/wrap-keyword-params
  65.       ring.middleware.params/wrap-params))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement