in sdk/src/utils/Utils.cc [52:72]
std::string urlEncode(const std::string & src, bool ignoreSlash)
{
std::stringstream dest;
static const char *hex = "0123456789ABCDEF";
unsigned char c;
for (size_t i = 0; i < src.size(); i++) {
c = src[i];
if (isalnum(c) || (c == '-') || (c == '_') || (c == '.') || (c == '~')) {
dest << c;
} else if (c == ' ') {
dest << "%20";
} else if (ignoreSlash && c == '/') {
dest << c;
} else {
dest << '%' << hex[c >> 4] << hex[c & 15];
}
}
return dest.str();
}