summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/weepinbell/handler.clj4
-rw-r--r--src/weepinbell/retriever.clj10
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}))
+