[ 
https://issues.apache.org/jira/browse/FOP-2973?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

J Frank updated FOP-2973:
-------------------------
    Attachment: patch-FOP-2973-3.diff

> [Patch] Cannot use custom schemes starting with "data" in resource resolving
> ----------------------------------------------------------------------------
>
>                 Key: FOP-2973
>                 URL: https://issues.apache.org/jira/browse/FOP-2973
>             Project: FOP
>          Issue Type: Bug
>    Affects Versions: 2.5
>            Reporter: Erik Hofer
>            Priority: Minor
>         Attachments: patch-FOP-2973-3.diff
>
>
> In {{org.apache.fop.apps.io.InternalResourceResolver}} there is the following 
> code:
> {code:java}
>     public Resource getResource(URI uri) throws IOException {
>         if (uri.getScheme() != null && uri.getScheme().startsWith("data")) {
>             return new Resource(resolveDataURI(uri.toASCIIString()));
>         }
>         return resourceResolver.getResource(resolveFromBase(uri));
>     }
> {code}
> All URIs with a scheme _starting with_ "data" are treated as a data URI. This 
> means schemes like "dataFoo" are not delegated to the {{resourceResolver}}. I 
> think this should be {{equals}} instead.
> The string overload works correctly because it includes the colon:
> {code:java}
>   public Resource getResource(String stringUri) throws IOException, 
> URISyntaxException {
>         if (stringUri.startsWith("data:")) {
>             return new Resource(resolveDataURI(stringUri));
>         }
>         return getResource(cleanURI(stringUri));
>     }
> {code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to