summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authoreltrac <hi@eltr.ac>2026-10-24 16:15:07 +0800
committereltrac <hi@eltr.ac>2026-10-24 16:15:07 +0800
commitbc0919fd2fce876172c644fdb0cdba98495e4142 (patch)
treeb3a4ab13993c4b04972a617056b85a272b72b270 /src
parentce55fe01b88e011d6773515f92555c9a4c2ba141 (diff)
retriever: fix not parsing numeric string to number before paging #79
Diffstat (limited to 'src')
-rw-r--r--src/weepinbell/webserver/retriever.clj5
1 files changed, 4 insertions, 1 deletions
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)