summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authoreltrac <hi@eltr.ac>2026-05-12 11:19:43 +0800
committereltrac <hi@eltr.ac>2026-05-12 11:19:43 +0800
commit1f57fffede54434fa3407bfc706d64d52c24b271 (patch)
treedd5e1946b05d47d526d9d0521a7fcdc5e30b3f56 /src
parent3de1b892d194a747c5916526fd3227c14a2c2dc0 (diff)
refactor: move wmc declaration to core.clj
Diffstat (limited to 'src')
-rw-r--r--src/weepinbell/channel.clj14
-rw-r--r--src/weepinbell/core.clj8
-rw-r--r--src/weepinbell/handler.clj7
3 files changed, 8 insertions, 21 deletions
diff --git a/src/weepinbell/channel.clj b/src/weepinbell/channel.clj
deleted file mode 100644
index 3c0180a..0000000
--- a/src/weepinbell/channel.clj
+++ /dev/null
@@ -1,14 +0,0 @@
-;; channel.clj defines and exports 'wmc'
-;; this is a channel (queue) in which
-;; webmentions are put and retrieved
-;;
-;; it should only be referred to in core.clj
-;; and handler.clj, and passed as an argument
-;; to processer.clj and retriever.clj.
-;; This keeps components loosely coupled.
-
-(ns weepinbell.channel
- (:require [clojure.core.async :refer [chan]]))
-
-(def wmc (chan))
-
diff --git a/src/weepinbell/core.clj b/src/weepinbell/core.clj
index 4550956..ff6f779 100644
--- a/src/weepinbell/core.clj
+++ b/src/weepinbell/core.clj
@@ -2,13 +2,15 @@
(:require [ring.adapter.jetty :refer [run-jetty]]
[weepinbell.processor :as processor]
[weepinbell.handler :refer [app]]
- [weepinbell.channel :refer [wmc]]
[weepinbell.config :refer [load-config]]
[weepinbell.webhook :as webhook]
[taoensso.timbre :as timbre]
- [weepinbell.storage.edn-storage :as edn])
+ [weepinbell.storage.edn-storage :as edn]
+ [clojure.core.async :refer [chan]])
(:gen-class)) ;; Essential for "lein uberjar"
+(def wmc (chan))
+
(def config (load-config))
(def store (edn/use-store (:data-path config)))
@@ -28,6 +30,6 @@
;; Check for a PORT environment variable, default to 3000
(let [port (Integer/parseInt (or (:port config) (System/getenv "PORT") "3000"))]
(run-jetty
- (app store config)
+ (app wmc store config)
{:port port :join? true})))
diff --git a/src/weepinbell/handler.clj b/src/weepinbell/handler.clj
index e2fe12a..554c1ce 100644
--- a/src/weepinbell/handler.clj
+++ b/src/weepinbell/handler.clj
@@ -6,7 +6,6 @@
[ring.middleware.json :refer [wrap-json-response]]
[weepinbell.receiver :refer [receive]]
[weepinbell.retriever :as retriever]
- [weepinbell.channel :refer [wmc]]
[weepinbell.ui :as ui]
[weepinbell.feed :as feed]))
@@ -19,7 +18,7 @@
(GET "/:domain" [~'domain ~'page]
(retriever/by-domain ~'domain ~mention-type ~'page ~storage))))
-(defn api-routes [storage config]
+(defn api-routes [wmc storage config]
(routes
(GET "/" [target] (ui/home (:allowed-target-domains config)
(:endpoint config)
@@ -45,8 +44,8 @@
;; 404
(route/not-found "Not Found")))
-(defn app [storage config]
- (-> (api-routes storage config)
+(defn app [wmc storage config]
+ (-> (api-routes wmc storage config)
(wrap-resource "static")
(wrap-defaults api-defaults)
(wrap-json-response)))