使用 http-kit 建立新的 Ring 應用程式
Ring 是 clojure HTTP 應用程式的事實上的標準 API,類似於 Ruby 的 Rack 和 Python 的 WSGI。
我們將使用 http-kit webserver。
建立新的 Leiningen 專案:
lein new app myapp
將 http-kit 依賴項新增到 project.clj
:
:dependencies [[org.clojure/clojure "1.8.0"]
[http-kit "2.1.18"]]
將 http-kit 的:require
新增到 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 "hello HTTP!"})
在這裡,我們只返回 200 OK,併為任何請求提供相同的內容。
在 -main
函式中啟動伺服器:
(defn -main
[& args]
(run-server app {:port 8080}))
使用 lein run
執行並在瀏覽器中開啟 http://localhost:8080/
。