From bc0919fd2fce876172c644fdb0cdba98495e4142 Mon Sep 17 00:00:00 2001 From: eltrac Date: Sat, 24 Oct 2026 16:15:07 +0800 Subject: retriever: fix not parsing numeric string to number before paging #79 --- src/weepinbell/webserver/retriever.clj | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/weepinbell/webserver/retriever.clj b/src/weepinbell/webserver/retriever.clj index 5be9e0c..e8b4485 100644 --- a/src/weepinbell/webserver/retriever.clj +++ b/src/weepinbell/webserver/retriever.clj @@ -41,7 +41,7 @@ (mftype= mftype)))) (map last)))) -(defn- paging [page page-size data] +(defn- paging [^Long page ^Long page-size data] (if (nil? page) data (let [pages (vec (partition-all (or page-size default-page-size) @@ -67,6 +67,9 @@ {:pre [(s/keys :req-un [::domain ::path ::page ::page-size ::storage ::mftype])]} [opts] (let [{:keys [domain path page page-size storage mftype]} opts + ;; parse to number if possible, use original if not + page (try (Long/parseLong page) (catch Exception _ page)) + ;; data trasformations data ((:get-by-domain storage path) domain) data (filter-by-mftype mftype data) data (paging page page-size data) -- cgit v1.2.3