Correct issues with encoding of plus character

Also remove some questionable decoding.
pull/139/merge
Andrew Gaul 2016-06-01 11:18:13 -07:00
rodzic e7bb6ddb47
commit d6c81c9b64
2 zmienionych plików z 5 dodań i 6 usunięć

Wyświetl plik

@ -1176,7 +1176,8 @@ final class S3ProxyHandler extends AbstractHandler {
xml.writeStartElement("Contents");
writeSimpleElement(xml, "Key", metadata.getName());
writeSimpleElement(xml, "Key", encodeBlob(encodingType,
metadata.getName()));
Date lastModified = metadata.getLastModified();
if (lastModified != null) {
@ -2556,9 +2557,7 @@ final class S3ProxyHandler extends AbstractHandler {
"UTF-8");
for (String key : parameters) {
// re-encode keys and values in AWS normalized form
key = URLDecoder.decode(key, charsetName);
String value = URLDecoder.decode(request.getParameter(key),
charsetName);
String value = request.getParameter(key);
queryParameters.add(AWS_URL_PARAMETER_ESCAPER.escape(key) +
"=" + AWS_URL_PARAMETER_ESCAPER.escape(value));
}

Wyświetl plik

@ -416,8 +416,8 @@ public final class S3AwsSdkTest {
}
@Test
public void testListSpecialCharacters() throws Exception {
String prefix = "test_dir/special */";
public void testSpecialCharacters() throws Exception {
String prefix = "special ~`!@#$%^&*()-_+=[]{}\\|;:'\"<>,./?";
String blobName = prefix + "foo";
ObjectMetadata metadata = new ObjectMetadata();
metadata.setContentLength(BYTE_SOURCE.size());