summaryrefslogtreecommitdiff
path: root/home/dev/repl.clj
diff options
context:
space:
mode:
Diffstat (limited to 'home/dev/repl.clj')
-rw-r--r--home/dev/repl.clj41
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))