in src/main/java/com/aliyun/oss/common/parser/RequestMarshallers.java [2121:2167]
private static String escapeKey(String key) {
if (key == null) {
return "";
}
int pos;
int len = key.length();
StringBuilder builder = new StringBuilder();
for (pos = 0; pos < len; pos++) {
char ch = key.charAt(pos);
EscapedChar escapedChar;
switch (ch) {
case '\t':
escapedChar = EscapedChar.TAB;
break;
case '\n':
escapedChar = EscapedChar.NEWLINE;
break;
case '\r':
escapedChar = EscapedChar.RETURN;
break;
case '&':
escapedChar = EscapedChar.AMP;
break;
case '"':
escapedChar = EscapedChar.QUOT;
break;
case '<':
escapedChar = EscapedChar.LT;
break;
case '>':
escapedChar = EscapedChar.GT;
break;
default:
escapedChar = null;
break;
}
if (escapedChar != null) {
builder.append(escapedChar.toString());
} else {
builder.append(ch);
}
}
return builder.toString();
}