Add logging and split clj/cljs dependencies properly

This commit is contained in:
heyarne 2020-05-03 14:39:31 +02:00
commit 73c14a8d0a
3 changed files with 37 additions and 14 deletions

View file

@ -1,7 +1,18 @@
{:paths ["src" "resources"] {:paths ["src" "resources"]
:deps {thheller/shadow-cljs {:mvn/version "2.8.109"} :extra-paths ["resources"]
appliedscience/js-interop {:mvn/version "0.2.5"} :deps {environ {:mvn/version "1.1.0"}
reagent {:mvn/version "1.0.0-alpha1"}
http-kit {:mvn/version "2.3.0"} http-kit {:mvn/version "2.3.0"}
compojure {:mvn/version "1.6.1"}}} compojure {:mvn/version "1.6.1"}
ring-logger {:mvn/version "1.0.1"}}
:aliases
;; clojurescript build tool and dependencies (see also shadow-cljs.edn)
{:cljs {:extra-deps {thheller/shadow-cljs {:mvn/version "2.8.109"}
appliedscience/js-interop {:mvn/version "0.2.5"}
reagent {:mvn/version "1.0.0-alpha1"}}
:main-opts ["-m" "shadow.cljs.devtools.cli"]}
;; packaging the server as a standalone jar for production
:uberjar {:extra-deps {luchiniatwork/cambada {:mvn/version "1.0.2"}}
:main-opts ["-m" "cambada.uberjar"
"-m" "heyarne.all-my-friends.server"]}}}

View file

@ -1,4 +1,4 @@
{:deps true {:deps {:aliases [:cljs]}
:ssl {:keystore "ssl/localhost.jks" :ssl {:keystore "ssl/localhost.jks"
:password "shadow-cljs"} :password "shadow-cljs"}
:dev-http {8080 "resources/public"} :dev-http {8080 "resources/public"}

View file

@ -1,24 +1,36 @@
(ns heyarne.all-my-friends.server (ns heyarne.all-my-friends.server
(:require [org.httpkit.server :as http] (:require [org.httpkit.server :as http]
[compojure.core :as router] [compojure.core :as router]
[compojure.route :as route]) [compojure.route :as route]
#_(:gen-class)) [clojure.java.io :as io]
[environ.core :refer [env]]
[ring.logger :as logger])
(:gen-class))
(router/defroutes app (router/defroutes app
#_(router/GET "/" [] (router/POST "/upload" [req]
{:status 200 (println "/upload" req)
:body "Hello world"}) {:status 400})
(route/files "/") (router/GET "/" []
(slurp (io/resource "public/index.html")))
(route/resources "/")
(route/not-found "Not found.")) (route/not-found "Not found."))
(defonce server (atom nil)) (defonce server (atom nil))
(defn stop-server [] (defn stop-server []
(when-not (nil? @server) (when-not (nil? @server)
(println "Stopping server…")
(@server :timeout 100) (@server :timeout 100)
(reset! server nil))) (reset! server nil)))
(defn -main [& args] (defn -main [& args]
(reset! server (http/run-server #'app {:port 8081}))) (let [port (env :port 8081)]
(println "Starting server on port" port)
(reset! server (-> #'app
(logger/wrap-with-logger)
(http/run-server {:port port})))))
#_(-main) #_(-main)
#_(stop-server)