You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
1.1 KiB
33 lines
1.1 KiB
9 years ago
|
(ns twister-renyan.repl
|
||
|
(:use twister-renyan.handler
|
||
|
ring.server.standalone
|
||
|
[ring.middleware file-info file]))
|
||
|
|
||
|
(defonce server (atom nil))
|
||
|
|
||
|
(defn get-handler []
|
||
|
;; #'app expands to (var app) so that when we reload our code,
|
||
|
;; the server is forced to re-resolve the symbol in the var
|
||
|
;; rather than having its own copy. When the root binding
|
||
|
;; changes, the server picks it up without having to restart.
|
||
|
(-> #'app
|
||
|
; Makes static assets in $PROJECT_DIR/resources/public/ available.
|
||
|
(wrap-file "resources")
|
||
|
; Content-Type, Content-Length, and Last Modified headers for files in body
|
||
|
(wrap-file-info)))
|
||
|
|
||
|
(defn start-server
|
||
|
"used for starting the server in development mode from REPL"
|
||
|
[& [port]]
|
||
|
(let [port (if port (Integer/parseInt port) 3000)]
|
||
|
(reset! server
|
||
|
(serve (get-handler)
|
||
|
{:port port
|
||
|
:auto-reload? true
|
||
|
:join? false}))
|
||
|
(println (str "You can view the site at http://localhost:" port))))
|
||
|
|
||
|
(defn stop-server []
|
||
|
(.stop @server)
|
||
|
(reset! server nil))
|