X-Git-Url: http://git.tdb.fi/?p=libs%2Fnet.git;a=blobdiff_plain;f=source%2Fhttp%2Fmessage.cpp;h=b86f95495eb267639bbc1bdf9ee58662dd198bf1;hp=5d5dd2123939013fdf5d02ace2907cdaa8d3f16a;hb=d5a705a45ee747f1a70b8e6f451f3501ab420103;hpb=198ae0bf208b505054b5964eb9284ff31e8cfc65 diff --git a/source/http/message.cpp b/source/http/message.cpp index 5d5dd21..b86f954 100644 --- a/source/http/message.cpp +++ b/source/http/message.cpp @@ -51,8 +51,8 @@ unsigned Message::parse_content(const string &d) HeaderMap::const_iterator i = headers.find("Content-Length"); if(i!=headers.end()) { - unsigned needed = lexical_cast(i->second)-content.size(); - unsigned len = min(needed, d.size()); + string::size_type needed = lexical_cast(i->second)-content.size(); + string::size_type len = min(needed, d.size()); content.append(d, 0, len); @@ -65,12 +65,12 @@ unsigned Message::parse_content(const string &d) i = headers.find("Transfer-Encoding"); if(i!=headers.end() && strcasecmp(i->second, "chunked")==0) { - unsigned pos = 0; + string::size_type pos = 0; while(!complete && pos(strip(d.substr(pos, lf-pos)), "x"); @@ -80,7 +80,7 @@ unsigned Message::parse_content(const string &d) } else { - unsigned len = min(chunk_length, d.size()-pos); + string::size_type len = min(chunk_length, d.size()-pos); content.append(d, pos, len); chunk_length -= len; if((pos = d.find('\n', pos+len))!=string::npos) @@ -97,16 +97,16 @@ unsigned Message::parse_content(const string &d) unsigned Message::parse_headers(const string &d) { - unsigned start = 0; + string::size_type start = 0; while(1) { - unsigned lf = d.find('\n', start); + string::size_type lf = d.find('\n', start); if(lf==string::npos) throw invalid_argument("Message::parse_headers"); if(lf==start || (d[start]=='\r' && lf==start+1)) return lf+1; - unsigned colon = d.find(':', start); + string::size_type colon = d.find(':', start); if(colon>lf) throw invalid_argument("Message::parse_headers"); @@ -135,13 +135,13 @@ string Message::normalize_header_name(const string &hdr) const bool upper = true; for(string::iterator i=result.begin(); i!=result.end(); ++i) { - if(upper) + if(*i=='-') + upper = true; + else if(upper) { *i = toupper(*i); upper = false; } - else if(*i=='-') - upper = true; else *i = tolower(*i); }