clojure 使用http-kit创建新的Ring应用程序

示例

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/在浏览器中打开。