|
|
|
@ -1,5 +1,6 @@
|
|
|
|
|
(ns asciinema.yada
|
|
|
|
|
(:require [clojure.java.io :as io]
|
|
|
|
|
[clojure.tools.logging :as log]
|
|
|
|
|
[yada.yada :as yada]))
|
|
|
|
|
|
|
|
|
|
(def not-found-model
|
|
|
|
@ -13,7 +14,13 @@
|
|
|
|
|
"text/html" (io/input-stream (io/resource "asciinema/errors/404.html"))
|
|
|
|
|
"Not found")))})
|
|
|
|
|
|
|
|
|
|
(defn logger [ctx]
|
|
|
|
|
(when-let [error (:error ctx)]
|
|
|
|
|
(when (= (-> ctx :response :status) 500)
|
|
|
|
|
(log/error error))))
|
|
|
|
|
|
|
|
|
|
(defn resource [model]
|
|
|
|
|
(-> model
|
|
|
|
|
(assoc :logger logger)
|
|
|
|
|
(update-in [:responses 404] #(or % not-found-model))
|
|
|
|
|
yada/resource))
|
|
|
|
|