summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/weepinbell/handler.clj22
1 files changed, 13 insertions, 9 deletions
diff --git a/src/weepinbell/handler.clj b/src/weepinbell/handler.clj
index a52206b..82bc55b 100644
--- a/src/weepinbell/handler.clj
+++ b/src/weepinbell/handler.clj
@@ -1,5 +1,5 @@
(ns weepinbell.handler
- (:require [compojure.core :refer [defroutes POST GET]]
+ (:require [compojure.core :refer [defroutes POST GET context]]
[compojure.route :as route]
[ring.middleware.defaults :refer [wrap-defaults api-defaults]]
[weepinbell.config :refer [get-config]]
@@ -16,14 +16,18 @@
;; receiver endpoint
(POST (get-config :endpoint) [source target]
(receive {:s source :t target} wmc))
- ;; query webmentions
- (GET "/api/mentions/" [url] (retriever/by-url url))
- (GET "/api/mentions/:domain" [domain] (retriever/by-domain domain))
- (GET "/api/mentions/:domain/:path" [domain path] (retriever/by-domain-path domain path))
- (GET "/api/mentions/all" [filter] (retriever/all filter))
- ;; query one specific webmention
- (GET "/api/mention/:id" [id] (retriever/by-id id))
- (GET "/api/mention" [source target] (retriever/by-st-pair source target))
+ ;; query API routes
+ (context "/api" []
+ ;; query webmention list
+ (context "/mentions" []
+ (GET "/" [url] (retriever/by-url url))
+ (GET "/:domain" [domain] (retriever/by-domain domain))
+ (GET "/:domain/:path" [domain path] (retriever/by-domain-path domain path))
+ (GET "/all" [filter] (retriever/all filter)))
+ ;; query one specific webmention
+ (context "/mention" []
+ (GET "/mention/:id" [id] (retriever/by-id id))
+ (GET "/mention" [source target] (retriever/by-st-pair source target))))
;; host proxied avatars (microformats photos)
(route/files "/avatars/" {:root "data/avatars"})
;; 404