Accept-Encoding: gzip, deflate is getting parsed also when it's the last

header.
This commit is contained in:
DennisOSRM 2012-04-20 16:19:56 +02:00
parent 8343703115
commit fed4a83a8f

View File

@ -156,13 +156,6 @@ private:
return false; return false;
} }
case header_line_start: case header_line_start:
if (input == '\r') {
state_ = expecting_newline_3;
return boost::indeterminate;
} else if (!isChar(input) || isCTL(input) || isTSpecial(input)) {
return false;
} else {
state_ = header_name;
if(header.name == "Accept-Encoding") { if(header.name == "Accept-Encoding") {
/* giving gzip precedence over deflate */ /* giving gzip precedence over deflate */
if(header.value.find("deflate") != std::string::npos) if(header.value.find("deflate") != std::string::npos)
@ -170,6 +163,14 @@ private:
if(header.value.find("gzip") != std::string::npos) if(header.value.find("gzip") != std::string::npos)
*compressionType = gzipRFC1952; *compressionType = gzipRFC1952;
} }
if (input == '\r') {
state_ = expecting_newline_3;
return boost::indeterminate;
} else if (!isChar(input) || isCTL(input) || isTSpecial(input)) {
return false;
} else {
state_ = header_name;
header.Clear(); header.Clear();
header.name.push_back(input); header.name.push_back(input);
return boost::indeterminate; return boost::indeterminate;