clean up app-handler setup, add middleware for custom, nicer looking, error page

This commit is contained in:
Gered 2013-06-07 19:45:56 -04:00
parent dcd5054ef1
commit d4f654a5e4
2 changed files with 18 additions and 10 deletions

View file

@ -7,6 +7,7 @@
blarg.routes.accessrules
compojure.core)
(:require [noir.util.middleware :as middleware]
[noir.response :as resp]
[compojure.route :as route]
[taoensso.timbre :as timbre]
[com.postspectacular.rotor :as rotor]
@ -17,9 +18,6 @@
(route/resources "/")
(route/not-found "Not Found"))
(defn destroy []
(timbre/info "picture-gallery is shutting down"))
(defn init
"init will be called once when
app is deployed as a servlet on
@ -49,13 +47,21 @@
[]
(timbre/info "blarg is shutting down..."))
;;append your application routes to the all-routes vector
(def all-routes [auth-routes home-routes posts-routes files-routes rss-routes app-routes])
(defn wrap-exceptions [app]
(fn [request]
(try
(app request)
(catch Exception e
(.printStackTrace e)
(->> (layout/render "error.html" {:error-info e})
(resp/status 500))))))
(def app (-> all-routes
(middleware/app-handler)
(middleware/wrap-access-rules {:redirect "/unauthorized"} auth-required)
;;add your middlewares here
))
;;append your application routes to the all-routes vector
(def all-routes [auth-routes home-routes posts-routes files-routes rss-routes])
(def app (middleware/app-handler
(conj all-routes app-routes)
:middleware [wrap-exceptions]
:access-rules [[{:redirect "/unauthorized"} auth-required]]))
(def war-handler (middleware/war-handler app))

View file

@ -8,6 +8,8 @@
<p>Sorry, an error has occurred.</p>
<div>
<pre>{{error-info}}</pre>
</div>
{% endblock %}