From 76697d3763e449e88cf522a0aedf204f3d916ac9 Mon Sep 17 00:00:00 2001 From: gered Date: Sun, 30 Mar 2014 16:37:14 -0400 Subject: [PATCH] add initial wrap-exceptions handler --- src/toascii/handler.clj | 13 +++++++------ src/toascii/middleware.clj | 13 ++++++++++++- 2 files changed, 19 insertions(+), 7 deletions(-) diff --git a/src/toascii/handler.clj b/src/toascii/handler.clj index 287b81d..d43f7fc 100644 --- a/src/toascii/handler.clj +++ b/src/toascii/handler.clj @@ -8,7 +8,8 @@ [clj-jtwig.web.middleware :refer [wrap-servlet-context-path]] [toascii.route-utils :refer [find-routes]] [toascii.models.flf :as flf] - [toascii.util :refer [log-formatter]])) + [toascii.util :refer [log-formatter]] + [toascii.middleware :refer [wrap-exceptions]])) (defroutes app-routes (route/resources "/") @@ -16,11 +17,11 @@ (defonce routes (find-routes "toascii.routes." app-routes)) -(defonce app (app-handler - routes - :middleware [wrap-servlet-context-path] - :access-rules [] - :formats [:json-kw :edn])) +(def app (app-handler + routes + :middleware [wrap-exceptions wrap-servlet-context-path] + :access-rules [] + :formats [:json-kw :edn])) (defn init [] (set-config! [:shared-appender-config :spit-filename] "toascii.log") diff --git a/src/toascii/middleware.clj b/src/toascii/middleware.clj index e05b7dc..42acf2e 100644 --- a/src/toascii/middleware.clj +++ b/src/toascii/middleware.clj @@ -1 +1,12 @@ -(ns toascii.middleware) +(ns toascii.middleware + (:require [taoensso.timbre :refer [log]])) + +(defn wrap-exceptions [handler] + (fn [request] + (try + (handler request) + (catch Exception ex + (log :error ex "Unhandled exception lol.") + (println (:uri request) (:context request)) + {:status 500 + :body "An error occurred! oh noes!"})))) \ No newline at end of file