summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoreltrac <hi@eltr.ac>2026-03-01 14:50:57 +0800
committereltrac <hi@eltr.ac>2026-03-01 14:50:57 +0800
commit94d650f0717731d70baa44534e79872cf66cf0dd (patch)
tree0439d544beecce02a4683d7ae90fbeea3962efaf
parent34f56e7facc5b09d2fcdf986104cf350c91f5c55 (diff)
chore: add configuration
-rw-r--r--resources/config.edn1
-rw-r--r--src/weepinbell/config.clj17
2 files changed, 18 insertions, 0 deletions
diff --git a/resources/config.edn b/resources/config.edn
new file mode 100644
index 0000000..8282768
--- /dev/null
+++ b/resources/config.edn
@@ -0,0 +1 @@
+{:endpoint "/endpoint"}
diff --git a/src/weepinbell/config.clj b/src/weepinbell/config.clj
new file mode 100644
index 0000000..9fd2827
--- /dev/null
+++ b/src/weepinbell/config.clj
@@ -0,0 +1,17 @@
+(ns weepinbell.config
+ (:require [clojure.edn :as edn]
+ [clojure.java.io :as io]))
+
+(defn load-config
+ (let [default-config (when-let [resource (io/resource "config.edn")]
+ (-> resource slurp edn/read-string))
+ external-file (io/file "config/config.edn")
+ external-config (when (.exists external-file)
+ (-> external-file slurp edn/read-string))]
+ (merge default-config external-config)))
+
+(def config (delay (load-config)))
+
+(defn get-config [key & keys]
+ (get-in @config (cons key keys)))
+