in Gems/AWSCore/Code/Source/Framework/RequestBuilder.cpp [122:223]
Aws::String RequestBuilder::escape(const char* value)
{
Aws::String target;
while (*value != '\0')
{
switch (*value)
{
case ' ':
target.append("%20", 3);
break;
case '!':
target.append("%21", 3);
break;
case '#':
target.append("%23", 3);
break;
case '$':
target.append("%24", 3);
break;
case '%':
target.append("%25", 3);
break;
case '&':
target.append("%26", 3);
break;
case '\'':
target.append("%27", 3);
break;
case '(':
target.append("%28", 3);
break;
case ')':
target.append("%29", 3);
break;
case '*':
target.append("%2A", 3);
break;
case '+':
target.append("%2B", 3);
break;
case ',':
target.append("%2C", 3);
break;
case '/':
target.append("%2F", 3);
break;
case ':':
target.append("%3A", 3);
break;
case ';':
target.append("%3B", 3);
break;
case '=':
target.append("%3D", 3);
break;
case '?':
target.append("%3F", 3);
break;
case '@':
target.append("%40", 3);
break;
case '[':
target.append("%5B", 3);
break;
case ']':
target.append("%5D", 3);
break;
default:
target.push_back(*value);
break;
}
++value;
}
return target;
}