From 12f90f30fca52a41d887230dbb995bcad1f34ae2 Mon Sep 17 00:00:00 2001 From: eltrac Date: Wed, 22 Apr 2026 13:41:59 +0800 Subject: refactor: DRY callbacks constructor --- src/weepinbell/core.clj | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) (limited to 'src') diff --git a/src/weepinbell/core.clj b/src/weepinbell/core.clj index e865397..854c317 100644 --- a/src/weepinbell/core.clj +++ b/src/weepinbell/core.clj @@ -10,20 +10,15 @@ (defn -main [& args] ;; Start webmention processor - (process-webmention wmc - {:on-receive (fn [] - (timbre/info "Receive callback:") - (webhook/trigger :on-receive (get-config :webhook))) - :on-update (fn [] - (timbre/info "Update callback:") - (webhook/trigger :on-update (get-config :webhook))) - :on-delete (fn [] - (timbre/info "Delete callback:") - (webhook/trigger :on-delete (get-config :webhook))) - :on-create (fn [] - (timbre/info "Create callback:") - (webhook/trigger :on-create (get-config :webhook)))}) - ;; Check for a PORT environment variable, default to 3000 + (process-webmention wmc + (let [hooks [:on-receive :on-update :on-delete :on-create] + webhooks (get-config :webhook)] + (zipmap hooks + (map (fn [hook] + #(do (timbre/info (name hook) "callback triggered.") + (webhook/trigger hook webhooks))) + hooks)))) +;; Check for a PORT environment variable, default to 3000 (let [port (Integer/parseInt (or (System/getenv "PORT") "3000"))] (run-jetty app {:port port :join? true}))) -- cgit v1.2.3