Skip to content

Commit ae6a421

Browse files
authored
Merge pull request #391 from sirmspencer/format-stacktrace
Improve formatting in ring.middleware.stacktrace
2 parents d113e0c + 6df99d5 commit ae6a421

File tree

1 file changed

+22
-21
lines changed

1 file changed

+22
-21
lines changed

ring-devel/src/ring/middleware/stacktrace.clj

Lines changed: 22 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313

1414
(defn wrap-stacktrace-log
1515
"Wrap a handler such that exceptions are logged to *err* and then rethrown.
16+
1617
Accepts the following options:
1718
1819
:color? - if true, apply ANSI colors to stacktrace (default false)"
@@ -40,32 +41,32 @@
4041
(defn- elem-partial [elem]
4142
(if (:clojure elem)
4243
[:tr.clojure
43-
[:td.source (h (source-str elem))]
44-
[:td.method (h (clojure-method-str elem))]]
44+
[:td.source (h (source-str elem))]
45+
[:td.method (h (clojure-method-str elem))]]
4546
[:tr.java
46-
[:td.source (h (source-str elem))]
47-
[:td.method (h (java-method-str elem))]]))
47+
[:td.source (h (source-str elem))]
48+
[:td.method (h (java-method-str elem))]]))
4849

4950
(defn- html-exception [ex]
5051
(let [[ex & causes] (iterate :cause (parse-exception ex))]
5152
(html5
52-
[:head
53-
[:title "Ring: Stacktrace"]
54-
(style-resource "ring/css/stacktrace.css")]
55-
[:body
56-
[:div#exception
57-
[:h1 (h (.getName ^Class (:class ex)))]
58-
[:div.message (h (:message ex))]
53+
[:head
54+
[:title "Ring: Stacktrace"]
55+
(style-resource "ring/css/stacktrace.css")]
56+
[:body
57+
[:div#exception
58+
[:h1 (h (.getName ^Class (:class ex)))]
59+
[:div.message (h (:message ex))]
60+
[:div.trace
61+
[:table
62+
[:tbody (map elem-partial (:trace-elems ex))]]]
63+
(for [cause causes :while cause]
64+
[:div#causes
65+
[:h2 "Caused by " [:span.class (h (.getName ^Class (:class cause)))]]
66+
[:div.message (h (:message cause))]
5967
[:div.trace
60-
[:table
61-
[:tbody (map elem-partial (:trace-elems ex))]]]
62-
(for [cause causes :while cause]
63-
[:div#causes
64-
[:h2 "Caused by " [:span.class (h (.getName ^Class (:class cause)))]]
65-
[:div.message (h (:message cause))]
66-
[:div.trace
67-
[:table
68-
[:tbody (map elem-partial (:trace-elems cause))]]]])]])))
68+
[:table
69+
[:tbody (map elem-partial (:trace-elems cause))]]]])]])))
6970

7071
(defn- text-ex-response [e]
7172
(-> (response (with-out-str (pst e)))
@@ -98,7 +99,7 @@
9899
(handler request)
99100
(catch Throwable ex
100101
(ex-response request ex))))
101-
([request respond raise]
102+
([request respond _]
102103
(try
103104
(handler request respond (fn [ex] (respond (ex-response request ex))))
104105
(catch Throwable ex

0 commit comments

Comments
 (0)