From 9278240c8fdb013076a766d90fda0130daa75e27 Mon Sep 17 00:00:00 2001 From: eltrac Date: Wed, 8 Apr 2026 22:40:08 +0800 Subject: perf: do not show :microformats and :extra when empty --- src/weepinbell/retriever.clj | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) (limited to 'src') diff --git a/src/weepinbell/retriever.clj b/src/weepinbell/retriever.clj index 681229d..7bc0818 100644 --- a/src/weepinbell/retriever.clj +++ b/src/weepinbell/retriever.clj @@ -1,13 +1,9 @@ (ns weepinbell.retriever (:require [weepinbell.storage :as storage] - [weepinbell.utils :refer [valid-http-url? - get-domain + [weepinbell.utils :refer [get-domain get-path - get-target respond-json]] - [weepinbell.microformats-wrapper :as mf-wrapper] - [clojure.string :refer [includes?]] - [cheshire.core :as json])) + [weepinbell.microformats-wrapper :as mf-wrapper])) ;; utilities (defn- respond-webmention-json [data] @@ -18,9 +14,14 @@ 404))) (defn- wrap-response-object [data] - {:webmention (:webmention data) - :microformats (mf-wrapper/wrap-entry (:microformats data)) - :extra (:extra data)}) + (let [result {:webmention (:webmention data)}] + (cond-> result + (not (empty? (:microformats data))) + (assoc :microformats (-> data + :microformats + mf-wrapper/wrap-entry)) + (:extra data) + (assoc :extra (:extra data))))) (defn- wrap-response-list [data] (map wrap-response-object data)) -- cgit v1.2.3