From 4438106c2fb576b74a01850dc6d6cdf179a7664a Mon Sep 17 00:00:00 2001 From: Matthieu Gautier Date: Wed, 20 Apr 2022 10:24:34 +0200 Subject: [PATCH] Add a prefix in get_search_filter The prefix will be used to parse a "query to select book" in different context. For now we have only one context : selecting books for the catalog search. But we will want to select books to do fulltext search on them (will be done in later commit) --- src/server/internalServer.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/src/server/internalServer.cpp b/src/server/internalServer.cpp index a725674d4..6a5203089 100644 --- a/src/server/internalServer.cpp +++ b/src/server/internalServer.cpp @@ -95,29 +95,29 @@ inline std::string normalizeRootUrl(std::string rootUrl) return rootUrl.empty() ? rootUrl : "/" + rootUrl; } -Filter get_search_filter(const RequestContext& request) +Filter get_search_filter(const RequestContext& request, const std::string& prefix="") { auto filter = kiwix::Filter().valid(true).local(true); try { - filter.query(request.get_argument("q")); + filter.query(request.get_argument(prefix+"q")); } catch (const std::out_of_range&) {} try { - filter.maxSize(request.get_argument("maxsize")); + filter.maxSize(request.get_argument(prefix+"maxsize")); } catch (...) {} try { - filter.name(request.get_argument("name")); + filter.name(request.get_argument(prefix+"name")); } catch (const std::out_of_range&) {} try { - filter.category(request.get_argument("category")); + filter.category(request.get_argument(prefix+"category")); } catch (const std::out_of_range&) {} try { - filter.lang(request.get_argument("lang")); + filter.lang(request.get_argument(prefix+"lang")); } catch (const std::out_of_range&) {} try { - filter.acceptTags(kiwix::split(request.get_argument("tag"), ";")); + filter.acceptTags(kiwix::split(request.get_argument(prefix+"tag"), ";")); } catch (...) {} try { - filter.rejectTags(kiwix::split(request.get_argument("notag"), ";")); + filter.rejectTags(kiwix::split(request.get_argument(prefix+"notag"), ";")); } catch (...) {} return filter; }