X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Fhttp%2Fresponse.cpp;h=6005d35ae6e1e26bf62837262485302e5d3df117;hb=afd2a8365ccc49b1b69ca034dd4abae37ee83eed;hp=ede249b7e11afa467e5423f4c4a54faa091fc59c;hpb=cf8d2e48581eeb8f1b83e8c48321a0bc2ffa6d83;p=libs%2Fnet.git diff --git a/source/http/response.cpp b/source/http/response.cpp index ede249b..6005d35 100644 --- a/source/http/response.cpp +++ b/source/http/response.cpp @@ -1,6 +1,6 @@ -#include -#include #include "response.h" +#include +#include using namespace std; @@ -23,8 +23,10 @@ Response Response::parse(const string &str) { Response result; - unsigned lf = str.find('\n'); - vector parts = split(str.substr(0, lf), ' ', 2); + string::size_type lf = str.find('\n'); + if(lf==0) + throw invalid_argument("Response::parse"); + vector parts = split(str.substr(0, lf-(str[lf-1]=='\r')), ' ', 2); if(parts.size()<2) throw invalid_argument("Response::parse");