Skip to content

Commit f70391a

Browse files
committed
Section 4 video 2
1 parent 4f7dfef commit f70391a

File tree

1 file changed

+22
-4
lines changed

1 file changed

+22
-4
lines changed

src/project1/core.clj

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,16 @@
55
[ring.middleware.params]
66
[ring.middleware.keyword-params]
77
[ring.middleware.multipart-params]
8+
[project1.html :as html]
89
[clojure.string]))
910

11+
(defn layout [contents]
12+
(html/emit
13+
[:html
14+
[:body
15+
[:h1 "Clojure webapps example"]
16+
[:p "This content comes from layout function"]
17+
contents]]))
1018
(defn case-middleware [handler request]
1119
(let [request (update-in request [:uri] clojure.string/lower-case)
1220
response (handler request)]
@@ -62,10 +70,20 @@
6270

6371
(defn form-handler [request]
6472
{:status 200
65-
:headers {"Content-type" "text/plain"}
66-
:body (str "local path:\n" (.getAbsolutePath (get-in request [:params :file :tempfile]))
67-
"\nmultipart-params:\n" (:multipart-params request)
68-
"\nparams:\n" (:params request) "\nquery-params:\n" (:query-params request) "\nform-params:\n" (:form-params request))})
73+
:headers {"Content-type" "text/html"}
74+
:body (layout
75+
[:div
76+
[:p "Params:"]
77+
[:pre (:params request)]
78+
[:p "Query string params:"]
79+
[:pre (:query-params request)]
80+
[:p "Form params:"]
81+
[:pre (:form-params request)]
82+
[:p "Multipart params:"]
83+
[:pre (:multipart-params request)]
84+
[:p "Local path:"]
85+
[:b (when-let [f (get-in request [:params :file :tempfile])]
86+
(.getAbsolutePath f))]])})
6987

7088
(defn route-handler [request]
7189
(condp = (:uri request)

0 commit comments

Comments
 (0)