fix(opds): incorrect url encode for next/previous links

closes #792
This commit is contained in:
Gauthier Roebroeck 2022-02-04 11:06:57 +08:00
parent c12701c7f2
commit 288858cf64

View file

@ -115,18 +115,15 @@ class OpdsController(
.fromPath("$routeBase$path") .fromPath("$routeBase$path")
private fun <T> linkPage(uriBuilder: UriComponentsBuilder, page: Page<T>): List<OpdsLink> { private fun <T> linkPage(uriBuilder: UriComponentsBuilder, page: Page<T>): List<OpdsLink> {
val pageBuilder = uriBuilder.cloneBuilder()
.queryParam("page", "{page}")
.build()
return listOfNotNull( return listOfNotNull(
if (!page.isFirst) OpdsLinkFeedNavigation( if (!page.isFirst) OpdsLinkFeedNavigation(
OpdsLinkRel.PREVIOUS, OpdsLinkRel.PREVIOUS,
pageBuilder.expand(mapOf("page" to page.pageable.previousOrFirst().pageNumber)).toUriString(), uriBuilder.cloneBuilder().queryParam("page", page.pageable.previousOrFirst().pageNumber).toUriString(),
) )
else null, else null,
if (!page.isLast) OpdsLinkFeedNavigation( if (!page.isLast) OpdsLinkFeedNavigation(
OpdsLinkRel.NEXT, OpdsLinkRel.NEXT,
pageBuilder.expand(mapOf("page" to page.pageable.next().pageNumber)).toUriString(), uriBuilder.cloneBuilder().queryParam("page", page.pageable.next().pageNumber).toUriString(),
) )
else null, else null,
) )