Leiningen server uses all options in project map
This commit is contained in:
parent
f03fd28d61
commit
44a1125463
|
@ -3,12 +3,18 @@
|
|||
(:require [ring.server.standalone :as standalone]))
|
||||
|
||||
(defn- load-var [sym]
|
||||
(require (-> sym namespace symbol))
|
||||
(find-var sym))
|
||||
(when sym
|
||||
(require (-> sym namespace symbol))
|
||||
(find-var sym)))
|
||||
|
||||
(defn serve
|
||||
"Start a server from a Leiningen project map."
|
||||
[project]
|
||||
(standalone/serve
|
||||
(load-var (-> project :ring :handler))
|
||||
{:join? false, :open-browser? false}))
|
||||
(merge
|
||||
{:join? true}
|
||||
(:ring project)
|
||||
(-> project :ring :adapter)
|
||||
{:init (load-var (-> project :ring :init))
|
||||
:destroy (load-var (-> project :ring :destroy))})))
|
||||
|
|
|
@ -3,10 +3,12 @@
|
|||
ring.server.leiningen
|
||||
ring.server.test.utils))
|
||||
|
||||
(def project-clj
|
||||
`{:ring {:handler default-handler}})
|
||||
(def basic-project-clj
|
||||
`{:ring {:handler default-handler
|
||||
:adapter {:join? false}
|
||||
:open-browser? false}})
|
||||
|
||||
(deftest serve-test
|
||||
(testing "basic project.clj"
|
||||
(with-server (serve project-clj)
|
||||
(with-server (serve basic-project-clj)
|
||||
(is-server-running-on-port 3000))))
|
||||
|
|
Reference in a new issue