diff options
Diffstat (limited to 'home/dev/repl.clj')
| -rw-r--r-- | home/dev/repl.clj | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/home/dev/repl.clj b/home/dev/repl.clj new file mode 100644 index 0000000..ced6fae --- /dev/null +++ b/home/dev/repl.clj @@ -0,0 +1,41 @@ +(ns repl + (:require [core :refer [-main]] + [ring.adapter.jetty :as jetty] + [ring.middleware.file :as file] + [ring.middleware.content-type :as content-type] + [ring.util.response :as response])) + +(defonce server (atom nil)) + +(defn app [request] + (or ((file/wrap-file identity "target/html") request) + (response/not-found "Not Found"))) + +(def handler + (-> app + content-type/wrap-content-type)) + +(defn start [] + (when-not @server + (reset! server (jetty/run-jetty handler {:port 8080 :join? false})) + (println "Server started on http://localhost:8080"))) + +(defn stop [] + (when @server + (.stop @server) + (reset! server nil) + (println "Server stopped"))) + +(defn restart [] + (stop) + (start)) + +(defn serve [] + (start)) + +(defn build [] + (-main)) + +(comment + (restart) + (build)) |
