JAVA-20211 Renamed modules (#13827)
* JAVA-20211 Renamed modules * JAVA-20211 Renamed modules
This commit is contained in:
48
clojure-modules/clojure-ring/src/ring/core.clj
Normal file
48
clojure-modules/clojure-ring/src/ring/core.clj
Normal file
@@ -0,0 +1,48 @@
|
||||
(ns ring.core
|
||||
(:use ring.adapter.jetty
|
||||
[ring.middleware.content-type]
|
||||
[ring.middleware.cookies]
|
||||
[ring.middleware.params]
|
||||
[ring.middleware.session]
|
||||
[ring.middleware.session.cookie]
|
||||
[ring.util.response]))
|
||||
|
||||
;; Handler that just echos back the string "Hello World"
|
||||
(defn simple-handler [request]
|
||||
{:status 200
|
||||
:headers {"Content-Type" "text/plain"}
|
||||
:body "Hello World"})
|
||||
|
||||
;; Handler that echos back the clients IP Address
|
||||
;; This demonstrates building responses properly, and extracting values from the request
|
||||
(defn check-ip-handler [request]
|
||||
(content-type
|
||||
(response (:remote-addr request))
|
||||
"text/plain"))
|
||||
|
||||
;; Handler that echos back the incoming parameter "input"
|
||||
;; This demonstrates middleware chaining and accessing parameters
|
||||
(def echo-handler
|
||||
(-> (fn [{params :params}]
|
||||
(content-type
|
||||
(response (get params "input"))
|
||||
"text/plain"))
|
||||
(wrap-params {:encoding "UTF-8"})
|
||||
))
|
||||
|
||||
;; Handler that keeps track of how many times each session has accessed the service
|
||||
;; This demonstrates cookies and sessions
|
||||
(def request-count-handler
|
||||
(-> (fn [{session :session}]
|
||||
(let [count (:count session 0)
|
||||
session (assoc session :count (inc count))]
|
||||
(-> (response (str "You accessed this page " count " times."))
|
||||
(assoc :session session))))
|
||||
wrap-cookies
|
||||
(wrap-session {:cookie-attrs {:max-age 3600}})
|
||||
))
|
||||
|
||||
;; Run the provided handler on port 3000
|
||||
(defn run
|
||||
[h]
|
||||
(run-jetty h {:port 3000}))
|
||||
Reference in New Issue
Block a user