diff options
| author | eltrac <hi@eltr.ac> | 2026-03-10 10:30:11 +0800 |
|---|---|---|
| committer | eltrac <hi@eltr.ac> | 2026-03-10 10:30:11 +0800 |
| commit | c21c0db2e523fa924fd69a1b2e23b8d27d72e250 (patch) | |
| tree | 0e1b712051c6db4f13b7e01a795695d7b7649a82 | |
| parent | 0556f2462d001511732ec3a51e9710a4a56c2e66 (diff) | |
feat(retriever): webmention query API
| -rw-r--r-- | src/weepinbell/handler.clj | 4 | ||||
| -rw-r--r-- | src/weepinbell/retriever.clj | 10 |
2 files changed, 13 insertions, 1 deletions
diff --git a/src/weepinbell/handler.clj b/src/weepinbell/handler.clj index 01f3e94..a72fe0d 100644 --- a/src/weepinbell/handler.clj +++ b/src/weepinbell/handler.clj @@ -1,9 +1,10 @@ (ns weepinbell.handler - (:require [compojure.core :refer [defroutes POST]] + (:require [compojure.core :refer [defroutes POST GET]] [compojure.route :as route] [ring.middleware.defaults :refer [wrap-defaults api-defaults]] [weepinbell.config :refer [get-config]] [weepinbell.receiver :refer [receive]] + [weepinbell.retriever :refer [retrieve-all]] [weepinbell.processor :refer [process-webmention]] [clojure.core.async :refer [chan]])) @@ -14,6 +15,7 @@ (defroutes api-routes (POST (get-config :endpoint) [source target] (receive {:s source :t target} wmc)) + (GET "/api/mentions" [] (retrieve-all)) (route/not-found "Not Found")) (def app diff --git a/src/weepinbell/retriever.clj b/src/weepinbell/retriever.clj new file mode 100644 index 0000000..253cca7 --- /dev/null +++ b/src/weepinbell/retriever.clj @@ -0,0 +1,10 @@ +(ns weepinbell.retriever + (:require [weepinbell.storage :as storage] + [cheshire.core :as json])) + +(defn retrieve-all + "Get all webmentions." + [] + (let [body (json/generate-string (storage/load-data))] + {:status 200 :body body})) + |
