From ac3c39a37a33d82f2149e9cfa7acaa9e0d823e9d Mon Sep 17 00:00:00 2001 From: eltrac Date: Tue, 3 Mar 2026 10:39:32 +0800 Subject: refactor: move webmention channel to entry file; pass to receiver and processor --- src/weepinbell/handler.clj | 10 ++++++++-- src/weepinbell/processor.clj | 15 +++++++++++++++ src/weepinbell/receiver.clj | 6 ++---- 3 files changed, 25 insertions(+), 6 deletions(-) create mode 100644 src/weepinbell/processor.clj (limited to 'src') diff --git a/src/weepinbell/handler.clj b/src/weepinbell/handler.clj index e6c972b..01f3e94 100644 --- a/src/weepinbell/handler.clj +++ b/src/weepinbell/handler.clj @@ -3,11 +3,17 @@ [compojure.route :as route] [ring.middleware.defaults :refer [wrap-defaults api-defaults]] [weepinbell.config :refer [get-config]] - [weepinbell.receiver :refer [receive]])) + [weepinbell.receiver :refer [receive]] + [weepinbell.processor :refer [process-webmention]] + [clojure.core.async :refer [chan]])) + +(def wmc (chan)) + +(process-webmention wmc) (defroutes api-routes (POST (get-config :endpoint) [source target] - (receive {:s source :t target})) + (receive {:s source :t target} wmc)) (route/not-found "Not Found")) (def app diff --git a/src/weepinbell/processor.clj b/src/weepinbell/processor.clj new file mode 100644 index 0000000..e17bd92 --- /dev/null +++ b/src/weepinbell/processor.clj @@ -0,0 +1,15 @@ +(ns weepinbell.processor + (:require [clojure.core.async :refer [go-loop