summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authoreltrac <hi@eltr.ac>2026-04-22 13:41:59 +0800
committereltrac <hi@eltr.ac>2026-04-22 13:41:59 +0800
commit12f90f30fca52a41d887230dbb995bcad1f34ae2 (patch)
treead8e77b4eb794be8c8f1b318d791b6214b31ebd1 /src
parent92db63795e42b53e3c0c75c043f98ae7b5f3c656 (diff)
refactor: DRY callbacks constructor
Diffstat (limited to 'src')
-rw-r--r--src/weepinbell/core.clj23
1 files changed, 9 insertions, 14 deletions
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})))