reitit/examples/ring-example/src/example/server.clj

34 lines
1 KiB
Clojure
Raw Normal View History

2017-12-03 15:43:40 +00:00
(ns example.server
(:require [ring.adapter.jetty :as jetty]
[ring.middleware.params]
[muuntaja.middleware]
[reitit.ring :as ring]
2018-07-22 13:24:00 +00:00
[reitit.ring.coercion :as coercion]
2017-12-03 15:43:40 +00:00
[example.dspec]
[example.schema]
[example.spec]))
(defonce ^:private server (atom nil))
(def app
(ring/ring-handler
(ring/router
[example.schema/routes
example.dspec/routes
example.spec/routes]
{:data {:middleware [ring.middleware.params/wrap-params
muuntaja.middleware/wrap-format
2018-07-22 13:24:00 +00:00
coercion/coerce-exceptions-middleware
coercion/coerce-request-middleware
coercion/coerce-response-middleware]}})))
2017-12-03 15:43:40 +00:00
(defn restart []
(swap! server (fn [x]
(when x (.stop x))
(jetty/run-jetty
app
{:port 3000, :join? false})))
(println "server running in port 3000"))
(restart)