blob: ab28749e2c071e6e353a5dfe408118f71caf27cd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
(ns dionysus.web.enduser
(:require [dotenv :as env]
[org.httpkit.server :as http-server]
[reitit.ring :as rring]
[dionysus.utils :as dutils]
[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 (-> (env/env "ENDUSER_PORT")
(dutils/try-parse-int 8080))})))
#_(start-server!)
(defn stop-server! []
(when (server-runs?)
(@stop-fn)
(reset! stop-fn nil)))
|