Amazon S3 has a bug wherein it treats the + character in the path component of all URLs as a space, rather than a distinct path character. As a result, all + characters must be encoded to %2B in order to be accessible on S3.
Per Amazon's official proposed solution, this patch forcibly URL-encodes all RFC 3986 characters that are part of the filename so generated repositories function correctly on S3 even when package filenames contain the + character.
Amazon S3 has a bug wherein it treats the
+
character in the path component of all URLs as a space, rather than a distinct path character. As a result, all+
characters must be encoded to%2B
in order to be accessible on S3.Per Amazon's official proposed solution, this patch forcibly URL-encodes all RFC 3986 characters that are part of the filename so generated repositories function correctly on S3 even when package filenames contain the + character.