diff --git a/src/smeagol/middleware.clj b/src/smeagol/middleware.clj index 82ccb59..aa14cb2 100644 --- a/src/smeagol/middleware.clj +++ b/src/smeagol/middleware.clj @@ -6,7 +6,12 @@ [selmer.middleware :refer [wrap-error-page]] [prone.middleware :refer [wrap-exceptions]] [ring.middleware.anti-forgery :refer [wrap-anti-forgery]] - [noir-exception.core :refer [wrap-internal-error]])) + [ring.middleware.file :refer [wrap-file]] + [ring.middleware.resource :refer [wrap-resource]] + [ring.middleware.content-type :refer [wrap-content-type]] + [ring.middleware.not-modified :refer [wrap-not-modified]] + [noir-exception.core :refer [wrap-internal-error]] + [smeagol.util :as util])) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;; @@ -44,7 +49,12 @@ (def production-middleware - [#(wrap-internal-error % :log (fn [e] (timbre/error e)))]) + [#(wrap-internal-error % :log (fn [e] (timbre/error e))) + #(wrap-file % util/content-dir + {:index-files? false :prefer-handler? true}) + #(wrap-resource % "public") + #(wrap-content-type %) + #(wrap-not-modified %)]) (defn load-middleware [] diff --git a/src/smeagol/routes/wiki.clj b/src/smeagol/routes/wiki.clj index 467275d..1002b7b 100644 --- a/src/smeagol/routes/wiki.clj +++ b/src/smeagol/routes/wiki.clj @@ -52,6 +52,7 @@ "Process `source-text` and save it to the specified `file-path`, committing it to Git and finally redirecting to wiki-page." [params suffix request] + (timbre/trace (format "process-source: '%s'" request)) (let [source-text (:src params) page (:page params) file-name (str page suffix) @@ -122,6 +123,7 @@ (defn wiki-page "Render the markdown page specified in this `request`, if any. If none found, redirect to edit-page" [request] + (timbre/trace (format "wiki-page: '%s'" request)) (or (show-sanity-check-error) (let [params (keywordize-keys (:params request)) @@ -163,7 +165,7 @@ "Render a form to allow the upload of a file." [request] (let [params (keywordize-keys (:params request)) - data-path (str (io/resource-path) "/content/uploads/") + data-path (str util/content-dir "/content/uploads/") git-repo (hist/load-or-init-repo util/content-dir) upload (:upload params) uploaded (if upload (ul/store-upload params data-path)) diff --git a/src/smeagol/uploads.clj b/src/smeagol/uploads.clj index 27ddceb..cdac04a 100644 --- a/src/smeagol/uploads.clj +++ b/src/smeagol/uploads.clj @@ -56,9 +56,11 @@ filename (:filename upload)] (timbre/info (str "Storing upload file: " upload)) - (if tmp-file - (do - (.renameTo tmp-file - (File. (str path filename))) - filename) - (throw (Exception. "No file found?"))))) + (timbre/debug + (str "store-upload mv file: " tmp-file " to: " path filename)) + (if tmp-file + (do + (.renameTo tmp-file + (File. (str path filename))) + filename) + (throw (Exception. "No file found?")))))