Added basic standalone server
This commit is contained in:
parent
592a8fd2d8
commit
f30d11a55e
|
@ -1,4 +1,5 @@
|
||||||
(defproject ring-server "0.1.0"
|
(defproject ring-server "0.1.0"
|
||||||
:description "Library for running Ring web servers"
|
:description "Library for running Ring web servers"
|
||||||
:dependencies [[org.clojure/clojure "1.2.1"]
|
:dependencies [[org.clojure/clojure "1.2.1"]
|
||||||
[ring "1.0.1"]])
|
[ring "1.0.1"]]
|
||||||
|
:dev-dependencies [[clj-http "0.3.1"]])
|
||||||
|
|
9
src/ring/server/standalone.clj
Normal file
9
src/ring/server/standalone.clj
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
(ns ring.server.standalone
|
||||||
|
(:use [ring.adapter.jetty :only (run-jetty)]))
|
||||||
|
|
||||||
|
(defn serve
|
||||||
|
"Start a web server to run a handler."
|
||||||
|
[handler & [{:as options}]]
|
||||||
|
(run-jetty
|
||||||
|
handler
|
||||||
|
(merge {:port 5000} options)))
|
18
test/ring/server/test/standalone.clj
Normal file
18
test/ring/server/test/standalone.clj
Normal file
|
@ -0,0 +1,18 @@
|
||||||
|
(ns ring.server.test.standalone
|
||||||
|
(:require [clj-http.client :as http])
|
||||||
|
(:use clojure.test
|
||||||
|
ring.server.standalone
|
||||||
|
ring.util.response))
|
||||||
|
|
||||||
|
(defmacro with-server [server & body]
|
||||||
|
`(let [server# ~server]
|
||||||
|
(try
|
||||||
|
~@body
|
||||||
|
(finally (.stop server#)))))
|
||||||
|
|
||||||
|
(deftest serve-test
|
||||||
|
(let [handler (constantly (response "Hello World"))]
|
||||||
|
(with-server (serve handler {:join? false})
|
||||||
|
(let [resp (http/get "http://localhost:5000")]
|
||||||
|
(is (= (:status resp) 200))
|
||||||
|
(is (= (:body resp) "Hello World"))))))
|
Reference in a new issue