Skip to content

[Bug] Cannot access a navigation feed that contains a URL encoded ":" #548

Open
@mcpierce

Description

@mcpierce

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?

  1. Download an OPDS payload containing a link with a URL encoded ":" in the path.
  2. Attempted to open that link using OPDS1Parser.parseUrlString(url, httpClient)).
  3. Exception is thrown when the expected result is to load the URL.

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:

<feed xmlns="http://www.w3.org/2005/Atom">
<title>Series: Lady Baltimore: The Witch Queens</title>
<id xmlns="">Lady+Baltimore%3A+The+Witch+Queens?unread=false</id>
<icon xmlns="">/favicon.png</icon>
<author xmlns="">
<name>ComiXed</name>
<uri>http://www.comixedproject.org/</uri>
</author>
<updated xmlns="">2024-07-20T16:53:42Z</updated>
<link xmlns="" type="application/atom+xml; profile=opds-catalog; kind=navigation" rel="start" href="root.xml"/>
<link xmlns="" type="application/opensearchdescription+xml" rel="search" href="search.xml" title="Search the library"/>
<link xmlns="" type="application/atom+xml; profile=opds-catalog; kind=navigation" rel="self" href="Lady+Baltimore%3A+The+Witch+Queens?unread=false"/>
<entry>
<title>v2021</title>
<id xmlns="">1450591362</id>
<updated xmlns="">2024-07-20T16:53:42Z</updated>
<content xmlns=""/>
<link type="application/atom+xml; profile=opds-catalog; kind=acquisition" rel="subsection" href="Lady+Baltimore%3A+The+Witch+Queens/volumes/2021?unread=false"/>
</entry>
</feed>

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions