diff options
| author | eltrac <hi@eltr.ac> | 2026-05-12 11:19:43 +0800 |
|---|---|---|
| committer | eltrac <hi@eltr.ac> | 2026-05-12 11:19:43 +0800 |
| commit | 1f57fffede54434fa3407bfc706d64d52c24b271 (patch) | |
| tree | dd5e1946b05d47d526d9d0521a7fcdc5e30b3f56 /src | |
| parent | 3de1b892d194a747c5916526fd3227c14a2c2dc0 (diff) | |
refactor: move wmc declaration to core.clj
Diffstat (limited to 'src')
| -rw-r--r-- | src/weepinbell/channel.clj | 14 | ||||
| -rw-r--r-- | src/weepinbell/core.clj | 8 | ||||
| -rw-r--r-- | src/weepinbell/handler.clj | 7 |
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))) |
