19 lines
537 B
Clojure
19 lines
537 B
Clojure
(ns auto-ap.routes.utils
|
|
(:require [buddy.auth :refer [authenticated?]]
|
|
[clojure.spec.alpha :as s]))
|
|
|
|
(defn wrap-secure [handler]
|
|
(fn [request]
|
|
(if (authenticated? request)
|
|
(handler request)
|
|
{:status 401
|
|
:body "not authenticated"})))
|
|
|
|
(defn wrap-spec [handler spec]
|
|
(fn [request]
|
|
(if (not (s/valid? spec (:edn-params request)))
|
|
{:status 400
|
|
:body (pr-str (s/explain-data spec (:edn-params request)))
|
|
:headers {"Content-Type" "application/edn"}}
|
|
(handler request))))
|