|
6 | 6 | [ring.middleware.keyword-params] |
7 | 7 | [ring.middleware.multipart-params] |
8 | 8 | [ring.middleware.cookies] |
| 9 | + [ring.middleware.session] |
| 10 | + [ring.middleware.session.memory] |
9 | 11 | [project1.html :as html] |
10 | 12 | [clojure.string])) |
11 | 13 |
|
|
73 | 75 | {:body (layout [:div [:p "Cookies:"] |
74 | 76 | [:pre (:cookies request)]])}) |
75 | 77 |
|
| 78 | +(defn session-handler [request] |
| 79 | + {:body (layout [:div [:p "Session:"] |
| 80 | + [:pre (:session request)]])}) |
| 81 | + |
| 82 | +(defn logout-handler [request] |
| 83 | + {:body "Logged out." |
| 84 | + :session nil}) |
| 85 | + |
76 | 86 | (defn form-handler [request] |
77 | 87 | {:status 200 |
78 | 88 | :headers {"Content-type" "text/html"} |
79 | 89 | :cookies {:username (:login (:params request))} |
| 90 | + :session {:username (:login (:params request)) |
| 91 | + :cnt (inc (or (:cnt (:session request)) 0))} |
80 | 92 | :body (layout |
81 | 93 | [:div |
82 | 94 | [:p "Params:"] |
|
98 | 110 | "/test3" (handlers/handler3 request) |
99 | 111 | "/form" (form-handler request) |
100 | 112 | "/cookies" (cookie-handler request) |
| 113 | + "/session" (session-handler request) |
| 114 | + "/logout" (logout-handler request) |
101 | 115 | nil)) |
102 | 116 |
|
103 | 117 | (defn wrapping-handler [request] |
|
118 | 132 | ring.middleware.keyword-params/wrap-keyword-params |
119 | 133 | ring.middleware.params/wrap-params |
120 | 134 | ring.middleware.multipart-params/wrap-multipart-params |
| 135 | + (ring.middleware.session/wrap-session |
| 136 | + {:cookie-name "ring-session" |
| 137 | + :root "/" |
| 138 | + :cookie-attrs {:max-age 600 |
| 139 | + :secure false} |
| 140 | + :store (ring.middleware.session.memory/memory-store)}) |
121 | 141 | ring.middleware.cookies/wrap-cookies |
122 | 142 | simple-log-middleware)) |
0 commit comments