Add searchdescription.xml endpoint

This commit is contained in:
Matthieu Gautier 2022-06-03 15:46:29 +02:00
parent e5df5e936f
commit 5d6b0ea96a
3 changed files with 19 additions and 0 deletions

View File

@ -519,6 +519,14 @@ std::unique_ptr<Response> InternalServer::handle_request(const RequestContext& r
if (request.get_url() == "/search") if (request.get_url() == "/search")
return handle_search(request); return handle_search(request);
if (request.get_url() == "/search/searchdescription.xml") {
return ContentResponse::build(
*this,
RESOURCE::ft_opensearchdescription_xml,
get_default_data(),
"application/opensearchdescription+xml");
}
if (request.get_url() == "/suggest") if (request.get_url() == "/suggest")
return handle_suggest(request); return handle_suggest(request);

View File

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/">
<ShortName>Fulltext articles search</ShortName>
<Description>Search for articles in the Library.</Description>
<Url type="application/atom+xml;profile=opds-catalog"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:k="http://kiwix.org/opensearchextension/1.0"
indexOffset="0"
template="{{root}}/search?format=xml&amp;pattern={searchTerms}&amp;books.filter.lang={language?}&amp;books.name={k:name?}&amp;pageLength={count?}&amp;start={startIndex?}"/>
</OpenSearchDescription>

View File

@ -50,4 +50,5 @@ templates/catalog_v2_categories.xml
templates/catalog_v2_languages.xml templates/catalog_v2_languages.xml
templates/url_of_search_results_css templates/url_of_search_results_css
opensearchdescription.xml opensearchdescription.xml
ft_opensearchdescription.xml
catalog_v2_searchdescription.xml catalog_v2_searchdescription.xml