fix(opds): add inline search template for simpler clients
continuous-integration/drone/push Build is passing
continuous-integration/drone/push Build is passing
Some OPDS clients (e.g. crosspoint-reader) don't resolve the
OpenSearch descriptor and only detect search via a rel="search"
link whose href contains {searchTerms} directly. Add such a link
alongside the existing descriptor so these clients can search.
This commit is contained in:
@@ -39,6 +39,14 @@ func (api *API) opdsEntry(c *gin.Context) {
|
|||||||
TypeLink: "application/opensearchdescription+xml",
|
TypeLink: "application/opensearchdescription+xml",
|
||||||
Href: "/api/opds/search.xml",
|
Href: "/api/opds/search.xml",
|
||||||
},
|
},
|
||||||
|
// Inline Search Template - Simpler OPDS clients (e.g. crosspoint-reader) don't resolve the
|
||||||
|
// OpenSearch descriptor and require the {searchTerms} template directly on a rel="search" link.
|
||||||
|
{
|
||||||
|
Title: "Search AnthoLume",
|
||||||
|
Rel: "search",
|
||||||
|
TypeLink: "application/atom+xml;profile=opds-catalog;kind=acquisition",
|
||||||
|
Href: "/api/opds/documents?search={searchTerms}",
|
||||||
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
Entries: []opds.Entry{
|
Entries: []opds.Entry{
|
||||||
|
|||||||
Reference in New Issue
Block a user