Skip to content

Instantly share code, notes, and snippets.

@meta-forte
Last active April 3, 2025 10:24
Show Gist options
  • Select an option

  • Save meta-forte/73bda3922525630714f38558b5f575c2 to your computer and use it in GitHub Desktop.

Select an option

Save meta-forte/73bda3922525630714f38558b5f575c2 to your computer and use it in GitHub Desktop.
clojure local dev middleware
(ns (:require [ring.middleware.reload :as rl]
[ring.middleware.refresh :as rf]
[selmer.middleware :refer [wrap-error-page]]
[prone.middleware :refer [wrap-exceptions]]))
(defn wrap-nocache [handler]
(fn [request]
(let [response (handler request)]
(assoc-in response [:headers "Cache-Control"] "no-cache"))))
(defn wrap-dev [handler _opts]
(print "wrapping ennv defaults middleware---------------------")
(-> handler
wrap-nocache
(rl/wrap-reload {:dirs ["src/clj" "env/dev/clj" "env/dev/cljc" "resources/html" "resources/public/css" "resources/public/js"]})
(rf/wrap-refresh ["src/clj" "env/dev/clj" "env/dev/cljc" "resources/html" "resources/public" "resources/public/js"])
wrap-error-page
(wrap-exceptions {:app-namespaces ['paramikaa]})
))
@meta-forte
Copy link
Author

  :dev   {:extra-deps  {com.lambdaisland/classpath      {:mvn/version "0.5.48"}
                             criterium/criterium             {:mvn/version "0.4.6"}
                             expound/expound                 {:mvn/version "0.9.0"}
                             integrant/repl                  {:mvn/version "0.3.3"}
                             mvxcvi/cljstyle                 {:mvn/version "0.16.630"}
                             pjstadig/humane-test-output     {:mvn/version "0.11.0"}
                             ring/ring-devel                 {:mvn/version "1.14.0"}
                             ring/ring-mock                  {:mvn/version "0.4.0"}
                             ring-refresh/ring-refresh                     {:mvn/version "0.2.0"}
                             io.github.kit-clj/kit-generator {:mvn/version "0.2.4"}
                             org.clojure/tools.namespace     {:mvn/version "1.4.4"}
                             io.github.nextjournal/clerk     {:mvn/version "0.17.1102"}
                             prone {:mvn/version "2020-01-17"}
                             }

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment