Last active
April 7, 2016 01:08
-
-
Save visibletrap/3e3ad43c9145f23095c1ed10bcb4c590 to your computer and use it in GitHub Desktop.
How to start/stop Jetty Ring server with REPL
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| (ns .handler | |
| (:require [compojure.api.sweet :refer [GET defapi context]] | |
| [ring.util.http-response :refer [ok]] | |
| [compojure.api.swagger :refer [swagger-routes]])) | |
| (defapi app | |
| (swagger-routes) | |
| (GET "/events" [] | |
| :query-params [name :- String] | |
| (ok {:message (str "Hello, " name)}))) | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| (ns yogurt.main | |
| (:require [yogurt.server :as server] | |
| [yogurt.handler :refer [app]])) | |
| (defn stop-server [] | |
| (server/stop)) | |
| (defn start-server [] | |
| (stop-server) | |
| (server/start app)) | |
| (defn -main [] ; For running in command line with `lein run` | |
| (start-server)) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| (ns yogurt.server | |
| (:require [ring.adapter.jetty :as jetty] ; Requires ring-jetty-adapter as dependency https://github.com/ring-clojure/ring/tree/master/ring-jetty-adapter | |
| [clojure.tools.logging :as log])) | |
| (def _server (atom nil)) | |
| (defn start | |
| ([app] (start app {})) | |
| ([app options] | |
| (let [{:keys [port] :or {port 3000}} options | |
| server (jetty/run-jetty app {:port port :join? false})] ; Options are described here https://github.com/ring-clojure/ring/blob/4a3584570ad9e7b17f6b1c8a2a17934c1682f77d/ring-jetty-adapter/src/ring/adapter/jetty.clj#L104-L129 | |
| (reset! _server server) | |
| (log/info "Starting server at port" port) | |
| server))) | |
| (defn stop [] | |
| (.stop @_server) | |
| (reset! _server nil)) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment