aboutsummaryrefslogtreecommitdiff
path: root/src/dionysus/web/enduser.clj
diff options
context:
space:
mode:
authorTim <contact@bytim.eu>2025-11-01 17:36:48 +0100
committerTim <contact@bytim.eu>2025-11-01 17:36:48 +0100
commit32ee50f0f6f53f8d5dea3bf159be3f65974c4b7b (patch)
treec317610f1a275936baefae2efeab360befbb9950 /src/dionysus/web/enduser.clj
Initial commit
Diffstat (limited to 'src/dionysus/web/enduser.clj')
-rw-r--r--src/dionysus/web/enduser.clj35
1 files changed, 35 insertions, 0 deletions
diff --git a/src/dionysus/web/enduser.clj b/src/dionysus/web/enduser.clj
new file mode 100644
index 0000000..90b661b
--- /dev/null
+++ b/src/dionysus/web/enduser.clj
@@ -0,0 +1,35 @@
+(ns dionysus.web.enduser
+ (:require [dotenv :as env]
+ [org.httpkit.server :as http-server]
+ [reitit.ring :as rring]
+
+ [dionysus.web.enduser.home :as dwehome]
+ [dionysus.web.enduser.home.search :as dwehsearch]
+ [ring.middleware.params :as rmparams]))
+
+(def ^:private routes
+ [["/" {:get {:handler dwehome/handle}}]
+ ["/search"
+ ["/" {:get {:handler dwehsearch/handle-search}}]
+ ["/add/:uri/" {:post {:handler dwehsearch/handle-search-add}}]]
+ ["/current-track/" {:get {:handler dwehome/handle-current-track}}]
+ ["/assets/*" (rring/create-resource-handler)]])
+
+(def ^:private handler
+ (-> routes
+ rring/router
+ (rring/ring-handler (rring/redirect-trailing-slash-handler))
+ rmparams/wrap-params))
+
+(def ^:private stop-fn (atom nil))
+(defn server-runs? [] (fn? @stop-fn))
+
+(defn start-server! []
+ (when (server-runs?) (@stop-fn))
+ (reset! stop-fn (http-server/run-server handler {:port (or (env/env "ENDUSER_PORT") 8080)})))
+#_(start-server!)
+
+(defn stop-server! []
+ (when (server-runs?)
+ (@stop-fn)
+ (reset! stop-fn nil)))