diff options
Diffstat (limited to 'src/dionysus/web/enduser.clj')
| -rw-r--r-- | src/dionysus/web/enduser.clj | 35 |
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))) |
