Browse Source

added support for optional index page

Brandon Wong 2 years ago
parent
commit
d753c1e9ab
3 changed files with 10 additions and 5 deletions
  1. 1 1
      src/attendant/handler.clj
  2. 4 0
      src/attendant/main.clj
  3. 5 4
      src/attendant/server.clj

+ 1 - 1
src/attendant/handler.clj

@@ -1,6 +1,6 @@
 (ns attendant.handler
   (:require
-   [compojure.core :refer [defroutes ANY OPTIONS]]
+   [compojure.core :refer [ANY defroutes OPTIONS]]
    [compojure.route :refer [not-found]]
    [ring.util.response :refer [header]]))
 

+ 4 - 0
src/attendant/main.clj

@@ -25,3 +25,7 @@
    (component/start
     (main-system))))
 
+(comment
+  "to restart the server component in-flight; presumably to update the middleware:"
+  (swap! system assoc :server (component/stop (:server @system)))
+  (swap! system assoc :server (component/start (server/map->Server {:port port}))))

+ 5 - 4
src/attendant/server.clj

@@ -1,15 +1,16 @@
 (ns attendant.server
   (:require
-   [com.stuartsierra.component :as component]
    [attendant.handler :refer [make-handler]]
+   [com.stuartsierra.component :as component]
    [ring.adapter.jetty :refer [run-jetty]]
+   [ring.middleware.file :refer [wrap-file]]
    [ring.middleware.reload :refer [wrap-reload]]))
 
-(defrecord Server [port dev]
+(defrecord Server [port dir dev]
   component/Lifecycle
   (start [this]
-    (println "starting web server" (when dev "(in dev mode)"))
-    (let [handler (make-handler)
+    (println "starting web server" (if dev "(in dev mode)" "") "and serving files from" (or dir "."))
+    (let [handler (wrap-file (make-handler) (or dir "."))
           hand (if dev
                  (wrap-reload handler)
                  handler)]