parent
7e1895c5ee
commit
bd70af8e78
@ -0,0 +1,2 @@
|
|||||||
|
*~
|
||||||
|
.cpcache
|
@ -0,0 +1,4 @@
|
|||||||
|
{:deps
|
||||||
|
{http-kit/http-kit {:mvn/version "2.3.0"}
|
||||||
|
metosin/reitit {:mvn/version "0.5.6"}
|
||||||
|
ring/ring-defaults {:mvn/version "0.3.2"}}}
|
@ -0,0 +1,37 @@
|
|||||||
|
(ns openretro.main
|
||||||
|
(:require [org.httpkit.server :as http-server]
|
||||||
|
[reitit.ring :as reitit-ring]
|
||||||
|
[ring.middleware.defaults :refer [wrap-defaults]]))
|
||||||
|
|
||||||
|
(defn hello [req]
|
||||||
|
{:status 200
|
||||||
|
:headers {"Content-Type" "text/html"}
|
||||||
|
:body "http-kit"})
|
||||||
|
|
||||||
|
(defn ws-endpoint [req]
|
||||||
|
(http-server/with-channel req channel
|
||||||
|
(http-server/on-close
|
||||||
|
channel
|
||||||
|
(fn [status] (println "closed" status)))
|
||||||
|
(http-server/on-receive
|
||||||
|
channel
|
||||||
|
(fn [data]
|
||||||
|
(http-server/send! channel data)))))
|
||||||
|
|
||||||
|
(def router
|
||||||
|
(reitit-ring/ring-handler
|
||||||
|
(reitit-ring/router
|
||||||
|
[["/hello" {:get {:handler hello}}]
|
||||||
|
["/ws" {:get {:handler ws-endpoint}}]])))
|
||||||
|
|
||||||
|
(defonce server (atom nil))
|
||||||
|
|
||||||
|
(defn stop-server []
|
||||||
|
(when-not (nil? @server)
|
||||||
|
(@server :timeout 1000)
|
||||||
|
(reset! server nil)))
|
||||||
|
|
||||||
|
(defn -main [& args]
|
||||||
|
(reset! server
|
||||||
|
(http-server/run-server #'router
|
||||||
|
{:port 8080})))
|
Loading…
Reference in new issue