-
Type:
Bug
-
Status: Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: None
-
Fix Version/s: 1.18.0
-
Component/s: None
-
Labels:None
URL.getPath() produces %20 when path contains spaces.
I suggest to rework all the uses of getResource()... to use Sources.of(URL) so there's single point of failure way to convert URL to File.
This resolves Apache CI which happens to have a space in folder name.
For the record:
1) URL.getPath() produces %20, so it is added to forbidden signatures
2) Paths.get(url.toURI()).toFile() almost works, however it fails with URL is not hierarchical for new URL("file:test.java")
3) new File(URL.toURI() is worse than #2
4) URLDecoder must not be used to decode %20, since it will convert + to spaces as well, thus it will corrupt test.c++
5) It looks like url.toURI().getSchemeSpecificPart()) properly handles "opaque" URIs (which are relative file:test.java kind of URLs)