clean up app-handler setup, add middleware for custom, nicer looking, error page
This commit is contained in:
parent
dcd5054ef1
commit
d4f654a5e4
|
@ -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))
|
||||
|
|
|
@ -8,6 +8,8 @@
|
|||
|
||||
<p>Sorry, an error has occurred.</p>
|
||||
|
||||
<div>
|
||||
<pre>{{error-info}}</pre>
|
||||
</div>
|
||||
|
||||
{% endblock %}
|
||||
|
|
Reference in a new issue