Ring是用于Clojure HTTP应用程序的事实上的标准API,类似于Ruby的Rack和Python的WSGI。
我们将它与http-kit网络服务器一起使用。
创建一个新的Leiningen项目:
lein new app myapp
将http-kit依赖项添加到project.clj:
:dependencies [[org.clojure/clojure "1.8.0"] [http-kit "2.1.18"]]
将:requirehttp-kit添加到core.clj:
(ns test.core (:gen-class) (:require [org.httpkit.server :refer [run-server]]))
定义铃声请求处理程序。请求处理程序只是从请求到响应的函数,响应只是一个映射:
(defn app [req] {:status 200 :headers {"Content-Type" "text/html"} :body "您好HTTP!"})
在这里,对于任何请求,我们只返回200 OK,内容相同。
启动服务器的-main功能:
(defn -main [& args] (run-server app {:port 8080}))
运行lein run并http://localhost:8080/在浏览器中打开。