X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fhttp%2Futils.cpp;fp=source%2Fhttp%2Futils.cpp;h=2f13576166ba9b128f0a111a1e507a8cb645fb96;hb=62ea6954a91568c900ad8155999bea264dfa72f3;hp=e52309aae50aab02648a1f1278d6787027063e74;hpb=f97f21c17f24e1d426e5b5863676071a5809b185;p=libs%2Fnet.git diff --git a/source/http/utils.cpp b/source/http/utils.cpp index e52309a..2f13576 100644 --- a/source/http/utils.cpp +++ b/source/http/utils.cpp @@ -31,12 +31,12 @@ namespace Http { string urlencode(const string &str, EncodeLevel level) { string result; - for(string::const_iterator i=str.begin(); i!=str.end(); ++i) + for(char c: str) { - if(is_reserved(*i, level)) - result += format("%%%02X", *i); + if(is_reserved(c, level)) + result += format("%%%02X", c); else - result += *i; + result += c; } return result; } @@ -44,14 +44,14 @@ string urlencode(const string &str, EncodeLevel level) string urlencode_plus(const string &str, EncodeLevel level) { string result; - for(string::const_iterator i=str.begin(); i!=str.end(); ++i) + for(char c: str) { - if(*i==' ') + if(c==' ') result += '+'; - else if(is_reserved(*i, level)) - result += format("%%%02X", *i); + else if(is_reserved(c, level)) + result += format("%%%02X", c); else - result += *i; + result += c; } return result; } @@ -119,14 +119,13 @@ string build_url(const Url &url) Query parse_query(const std::string &str) { - vector parts = split(str, '&'); Query query; - for(vector::const_iterator i=parts.begin(); i!=parts.end(); ++i) + for(const string &p: split(str, '&')) { - string::size_type equals = i->find('='); - string &value = query[urldecode(i->substr(0, equals))]; + string::size_type equals = p.find('='); + string &value = query[urldecode(p.substr(0, equals))]; if(equals!=string::npos) - value = urldecode(i->substr(equals+1)); + value = urldecode(p.substr(equals+1)); } return query; } @@ -134,13 +133,13 @@ Query parse_query(const std::string &str) string build_query(const Query &query) { string str; - for(Query::const_iterator i=query.begin(); i!=query.end(); ++i) + for(const auto &kvp: query) { - if(i!=query.begin()) + if(!str.empty()) str += '&'; - str += urlencode_plus(i->first); + str += urlencode_plus(kvp.first); str += '='; - str += urlencode_plus(i->second); + str += urlencode_plus(kvp.second); } return str; }