Open mcpierce opened 4 months ago
What is your OPDS 1 server? I can't find any reference documentation about use of relative Urls in OPDS1 or ATOM. @HadrienGardeur Do you have any insight on this?
@qnga I was refactoring the feed to provide URLs relative to the self link based on an example catalog online and how readium behaves when consuming it.
Should my server instead returnl acquistion links that are absolute URIs rather than ones relative to the self link?
Ok, I missed the existence of the self link in OPDS 1 too. Unlike OPDS 2, it seems to allow relative self links. Relative to what? I don't know. If it's relative to the location we got the feed from, I can't see the point of a self link since we need an URL to that location anyway.
@qnga So what is your recommendation for this? Is it a bug to be fixed?
Describe the bug
My application is using the OPDS1Parser from v2.4.1 to read from a server. When it downloads an acquisition link like this following:
Lady+Baltimore%3A+The+Witch+Queens/volumes/2021?unread=false
it is throwing the exception:
org.readium.r2.shared.util.http.HttpException: HTTP error: MalformedRequest
The root cause (next layer down in the exception chain) is:
java.net.MalformedURLException: no protocol: Dark+Horse+Comics/series/Lady+Baltimore:+The+Witch+Queens?unread=false
I've included the OPDS page feed in the additional context below.
How to reproduce?
OPDS1Parser.parseUrlString(url, httpClient))
.Readium version
2.4.1
Android API version
14
Additional context
The URL (as referenced from a desktop computer) is:
http://localhost:7171/opds/collections/publishers/Dark+Horse+Comics/series/Lady+Baltimore%3A+The+Witch+Queens?unread=false
and the payload returned is: