params_str = url_src.substr(pos + 1);
}
- std::string_view dec_src{name_str};
- if (dec_src[0] == '/')
- dec_src.remove_prefix(1);
+ if (name_str[0] == '/') // trim leading slash
+ name_str.remove_prefix(1);
- pos = url_decode(dec_src).find('/');
+ std::string dec_src = url_decode(name_str);
+
+ pos = dec_src.find('/');
if (pos == string::npos)
return false;
- bucket_name = url_decode(dec_src).substr(0, pos);
- key.name = url_decode(dec_src).substr(pos + 1);
+ bucket_name = dec_src.substr(0, pos);
+ key.name = dec_src.substr(pos + 1);
if (key.name.empty()) {
return false;