]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
request_parse_status is a 3.2 only feature
authorAmos Jeffries <amosjeffries@squid-cache.org>
Fri, 3 Sep 2010 08:31:22 +0000 (02:31 -0600)
committerAmos Jeffries <amosjeffries@squid-cache.org>
Fri, 3 Sep 2010 08:31:22 +0000 (02:31 -0600)
src/HttpMsg.cc
src/tests/testHttpRequest.cc

index b0439998d6aa55b2527eb1df246e893611d1e689..053c92599bd87ed6d84163f0013878a0ca19f294 100644 (file)
@@ -517,7 +517,6 @@ HttpParser::parseRequestFirstLine()
 
             // RFC 2616 section 5.1
             // "No CR or LF is allowed except in the final CRLF sequence"
-            request_parse_status = HTTP_BAD_REQUEST;
             return -1;
         }
     }
@@ -538,25 +537,21 @@ HttpParser::parseRequestFirstLine()
 
     // First non-whitespace = beginning of method
     if (req_start > line_end) {
-        request_parse_status = HTTP_BAD_REQUEST;
         return -1;
     }
     m_start = req_start;
 
     // First whitespace = end of method
     if (first_whitespace > line_end || first_whitespace < req_start) {
-        request_parse_status = HTTP_BAD_REQUEST; // no method
         return -1;
     }
     m_end = first_whitespace - 1;
     if (m_end < m_start) {
-        request_parse_status = HTTP_BAD_REQUEST; // missing URI?
         return -1;
     }
 
     // First non-whitespace after first SP = beginning of URL+Version
     if (second_word > line_end || second_word < req_start) {
-        request_parse_status = HTTP_BAD_REQUEST; // missing URI
         return -1;
     }
     u_start = second_word;
@@ -567,7 +562,6 @@ HttpParser::parseRequestFirstLine()
         v_maj = 0;
         v_min = 9;
         u_end = line_end;
-        request_parse_status = HTTP_OK; // HTTP/0.9
         return 1;
     } else {
         // otherwise last whitespace is somewhere after end of URI.
@@ -576,13 +570,11 @@ HttpParser::parseRequestFirstLine()
         for (; u_end >= u_start && xisspace(buf[u_end]); u_end--);
     }
     if (u_end < u_start) {
-        request_parse_status = HTTP_BAD_REQUEST; // missing URI
         return -1;
     }
 
     // Last whitespace SP = before start of protocol/version
     if (last_whitespace >= line_end) {
-        request_parse_status = HTTP_BAD_REQUEST; // missing version
         return -1;
     }
     v_start = last_whitespace + 1;
@@ -597,10 +589,8 @@ HttpParser::parseRequestFirstLine()
         v_maj = 0;
         v_min = 9;
         u_end = line_end;
-        request_parse_status = HTTP_OK; // treat as HTTP/0.9
         return 1;
 #else
-        request_parse_status = HTTP_HTTP_VERSION_NOT_SUPPORTED; // protocol not supported / implemented.
         return -1;
 #endif
     }
@@ -609,7 +599,6 @@ HttpParser::parseRequestFirstLine()
 
     /* next should be 1 or more digits */
     if (!isdigit(buf[i])) {
-        request_parse_status = HTTP_HTTP_VERSION_NOT_SUPPORTED;
         return -1;
     }
     int maj = 0;
@@ -619,25 +608,21 @@ HttpParser::parseRequestFirstLine()
     }
     // catch too-big values or missing remainders
     if (maj >= 65536 || i > line_end) {
-        request_parse_status = HTTP_HTTP_VERSION_NOT_SUPPORTED;
         return -1;
     }
     v_maj = maj;
 
     /* next should be .; we -have- to have this as we have a whole line.. */
     if (buf[i] != '.') {
-        request_parse_status = HTTP_HTTP_VERSION_NOT_SUPPORTED;
         return -1;
     }
     // catch missing minor part
     if (++i > line_end) {
-        request_parse_status = HTTP_HTTP_VERSION_NOT_SUPPORTED;
         return -1;
     }
 
     /* next should be one or more digits */
     if (!isdigit(buf[i])) {
-        request_parse_status = HTTP_HTTP_VERSION_NOT_SUPPORTED;
         return -1;
     }
     int min = 0;
@@ -647,7 +632,6 @@ HttpParser::parseRequestFirstLine()
     }
     // catch too-big values or trailing garbage
     if (min >= 65536 || i < line_end) {
-        request_parse_status = HTTP_HTTP_VERSION_NOT_SUPPORTED;
         return -1;
     }
     v_min = min;
@@ -655,7 +639,6 @@ HttpParser::parseRequestFirstLine()
     /*
      * Rightio - we have all the schtuff. Return true; we've got enough.
      */
-    request_parse_status = HTTP_OK;
     return 1;
 }
 
index 400e20a9a0a879b17b7a602adfee09908b674771..e67598262e531c079fadb27732e0f181835204c7 100644 (file)
@@ -224,7 +224,6 @@ testHttpRequest::testParseRequestLine()
     input.append("GET /\r\n", 7);
     HttpParserInit(&output, input.content(), input.contentSize());
     CPPUNIT_ASSERT_EQUAL(1, HttpParserParseReqLine(&output));
-    CPPUNIT_ASSERT_EQUAL(HTTP_OK, output.request_parse_status);
     CPPUNIT_ASSERT_EQUAL(0, output.req_start);
     CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-1, output.req_end);
     CPPUNIT_ASSERT(memcmp("GET /\r\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0);
@@ -244,7 +243,6 @@ testHttpRequest::testParseRequestLine()
     input.append("GET / HTTP/1.0\r\n", 16);
     HttpParserInit(&output, input.content(), input.contentSize());
     CPPUNIT_ASSERT_EQUAL(1, HttpParserParseReqLine(&output));
-    CPPUNIT_ASSERT_EQUAL(HTTP_OK, output.request_parse_status);
     CPPUNIT_ASSERT_EQUAL(0, output.req_start);
     CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-1, output.req_end);
     CPPUNIT_ASSERT(memcmp("GET / HTTP/1.0\r\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0);
@@ -266,7 +264,6 @@ testHttpRequest::testParseRequestLine()
     input.append("GET / HTTP/1.1\r\n", 16);
     HttpParserInit(&output, input.content(), input.contentSize());
     CPPUNIT_ASSERT_EQUAL(1, HttpParserParseReqLine(&output));
-    CPPUNIT_ASSERT_EQUAL(HTTP_OK, output.request_parse_status);
     CPPUNIT_ASSERT_EQUAL(0, output.req_start);
     CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-1, output.req_end);
     CPPUNIT_ASSERT(memcmp("GET / HTTP/1.1\r\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0);
@@ -288,7 +285,6 @@ testHttpRequest::testParseRequestLine()
     //printf("TEST: '%s'\n",input.content());
     HttpParserInit(&output, input.content(), input.contentSize());
     CPPUNIT_ASSERT_EQUAL(1, HttpParserParseReqLine(&output));
-    CPPUNIT_ASSERT_EQUAL(HTTP_OK, output.request_parse_status);
     CPPUNIT_ASSERT_EQUAL(0, output.req_start);
     CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-1, output.req_end);
     CPPUNIT_ASSERT(memcmp("GET / HTTP/10.12\r\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0);
@@ -310,7 +306,6 @@ testHttpRequest::testParseRequestLine()
     //printf("TEST: '%s'\n",input.content());
     HttpParserInit(&output, input.content(), input.contentSize());
     CPPUNIT_ASSERT_EQUAL(1, HttpParserParseReqLine(&output));
-    CPPUNIT_ASSERT_EQUAL(HTTP_OK, output.request_parse_status);
     CPPUNIT_ASSERT_EQUAL(0, output.req_start);
     CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-1, output.req_end);
     CPPUNIT_ASSERT(memcmp("GET  /     HTTP/1.1\r\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0);
@@ -334,7 +329,6 @@ testHttpRequest::testParseRequestLine()
     //printf("TEST: '%s'\n",input.content());
     HttpParserInit(&output, input.content(), input.contentSize());
     CPPUNIT_ASSERT_EQUAL(-1, HttpParserParseReqLine(&output));
-    CPPUNIT_ASSERT_EQUAL(HTTP_BAD_REQUEST, output.request_parse_status);
     CPPUNIT_ASSERT_EQUAL(0, output.req_start);
     CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-1, output.req_end);
     CPPUNIT_ASSERT(memcmp("GET / HTTP/1.1 \n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0);
@@ -355,7 +349,6 @@ testHttpRequest::testParseRequestLine()
     //printf("TEST: '%s'\n",input.content());
     HttpParserInit(&output, input.content(), input.contentSize());
     CPPUNIT_ASSERT_EQUAL(1, HttpParserParseReqLine(&output));
-    CPPUNIT_ASSERT_EQUAL(HTTP_OK, output.request_parse_status);
     CPPUNIT_ASSERT_EQUAL(0, output.req_start);
     CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-1, output.req_end);
     CPPUNIT_ASSERT(memcmp("GET /fo o/ HTTP/1.1\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0);
@@ -377,7 +370,6 @@ testHttpRequest::testParseRequestLine()
     //printf("TEST: '%s'\n",input.content());
     HttpParserInit(&output, input.content(), input.contentSize());
     CPPUNIT_ASSERT_EQUAL(1, HttpParserParseReqLine(&output));
-    CPPUNIT_ASSERT_EQUAL(HTTP_OK, output.request_parse_status);
     CPPUNIT_ASSERT_EQUAL(0, output.req_start);
     CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-5, output.req_end);
     CPPUNIT_ASSERT(memcmp("GET /     HTTP/1.1\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0);
@@ -399,7 +391,6 @@ testHttpRequest::testParseRequestLine()
     //printf("TEST: '%s'\n",input.content());
     HttpParserInit(&output, input.content(), input.contentSize());
     CPPUNIT_ASSERT_EQUAL(1, HttpParserParseReqLine(&output));
-    CPPUNIT_ASSERT_EQUAL(HTTP_OK, output.request_parse_status);
     CPPUNIT_ASSERT_EQUAL(0, output.req_start);
     CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-1, output.req_end);
     CPPUNIT_ASSERT(memcmp("GET / HTTP/1.1\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0);
@@ -421,7 +412,6 @@ testHttpRequest::testParseRequestLine()
     //printf("TEST: '%s'\n",input.content());
     HttpParserInit(&output, input.content(), input.contentSize());
     CPPUNIT_ASSERT_EQUAL(1, HttpParserParseReqLine(&output));
-    CPPUNIT_ASSERT_EQUAL(HTTP_OK, output.request_parse_status);
     CPPUNIT_ASSERT_EQUAL(0, output.req_start);
     CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-2, output.req_end);
     CPPUNIT_ASSERT(memcmp("GET / HTTP/1.1\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0);
@@ -445,7 +435,6 @@ testHttpRequest::testParseRequestLine()
     Config.onoff.relaxed_header_parser = 1;
     // Being tolerant we can ignore and elide these apparently benign CR
     CPPUNIT_ASSERT_EQUAL(1, HttpParserParseReqLine(&output));
-    CPPUNIT_ASSERT_EQUAL(HTTP_OK, output.request_parse_status);
     CPPUNIT_ASSERT_EQUAL(0, output.req_start);
     CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-1, output.req_end);
     CPPUNIT_ASSERT(memcmp("GET / HTTP/1.1\r\r\r\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0);
@@ -469,7 +458,6 @@ testHttpRequest::testParseRequestLine()
     // strict mode treats these as several bare-CR in the request line which is explicitly invalid.
     Config.onoff.relaxed_header_parser = 0;
     CPPUNIT_ASSERT_EQUAL(-1, HttpParserParseReqLine(&output));
-    CPPUNIT_ASSERT_EQUAL(HTTP_BAD_REQUEST, output.request_parse_status);
     CPPUNIT_ASSERT_EQUAL(0, output.req_start);
     CPPUNIT_ASSERT_EQUAL(-1, output.req_end);
     CPPUNIT_ASSERT_EQUAL(-1, output.m_start);
@@ -487,7 +475,6 @@ testHttpRequest::testParseRequestLine()
     //printf("TEST: '%s'\n",input.content());
     HttpParserInit(&output, input.content(), input.contentSize());
     CPPUNIT_ASSERT_EQUAL(1, HttpParserParseReqLine(&output));
-    CPPUNIT_ASSERT_EQUAL(HTTP_OK, output.request_parse_status);
     CPPUNIT_ASSERT_EQUAL(0, output.req_start);
     CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-1, output.req_end);
     CPPUNIT_ASSERT(memcmp(". / HTTP/1.1\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0);
@@ -509,7 +496,6 @@ testHttpRequest::testParseRequestLine()
     //printf("TEST: '%s'\n",input.content());
     HttpParserInit(&output, input.content(), input.contentSize());
     CPPUNIT_ASSERT_EQUAL(1, HttpParserParseReqLine(&output));
-    CPPUNIT_ASSERT_EQUAL(HTTP_OK, output.request_parse_status);
     CPPUNIT_ASSERT_EQUAL(0, output.req_start);
     CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-1, output.req_end);
     CPPUNIT_ASSERT(memcmp("OPTIONS * HTTP/1.1\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0);
@@ -531,7 +517,6 @@ testHttpRequest::testParseRequestLine()
     //printf("TEST: '%s'\n",input.content());
     HttpParserInit(&output, input.content(), input.contentSize());
     CPPUNIT_ASSERT_EQUAL(1, HttpParserParseReqLine(&output));
-    CPPUNIT_ASSERT_EQUAL(HTTP_OK, output.request_parse_status);
     CPPUNIT_ASSERT_EQUAL(0, output.req_start);
     CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-1, output.req_end);
     CPPUNIT_ASSERT(memcmp("HELLOWORLD / HTTP/1.1\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0);
@@ -555,14 +540,12 @@ testHttpRequest::testParseRequestLine()
     HttpParserInit(&output, input.content(), input.contentSize());
 #if USE_HTTP_VIOLATIONS
     CPPUNIT_ASSERT_EQUAL(1, HttpParserParseReqLine(&output));
-    CPPUNIT_ASSERT_EQUAL(HTTP_OK, output.request_parse_status);
     CPPUNIT_ASSERT_EQUAL(12, output.u_end);
     CPPUNIT_ASSERT(memcmp("/ FOO/1.0", &output.buf[output.u_start],(output.u_end-output.u_start+1)) == 0);
     CPPUNIT_ASSERT_EQUAL(0, output.v_maj);
     CPPUNIT_ASSERT_EQUAL(9, output.v_min);
 #else
     CPPUNIT_ASSERT_EQUAL(-1, HttpParserParseReqLine(&output));
-    CPPUNIT_ASSERT_EQUAL(HTTP_HTTP_VERSION_NOT_SUPPORTED, output.request_parse_status);
     CPPUNIT_ASSERT_EQUAL(4, output.u_end);
     CPPUNIT_ASSERT(memcmp("/", &output.buf[output.u_start],(output.u_end-output.u_start+1)) == 0);
     CPPUNIT_ASSERT_EQUAL(0, output.v_maj);
@@ -586,7 +569,6 @@ testHttpRequest::testParseRequestLine()
     HttpParserInit(&output, input.content(), input.contentSize());
     Config.onoff.relaxed_header_parser = 1;
     CPPUNIT_ASSERT_EQUAL(1, HttpParserParseReqLine(&output));
-    CPPUNIT_ASSERT_EQUAL(HTTP_OK, output.request_parse_status);
     CPPUNIT_ASSERT_EQUAL(1, output.req_start);
     CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-1, output.req_end);
     CPPUNIT_ASSERT(memcmp("GET / HTTP/1.1\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0);
@@ -609,7 +591,6 @@ testHttpRequest::testParseRequestLine()
     HttpParserInit(&output, input.content(), input.contentSize());
     Config.onoff.relaxed_header_parser = 0;
     CPPUNIT_ASSERT_EQUAL(-1, HttpParserParseReqLine(&output));
-    CPPUNIT_ASSERT_EQUAL(HTTP_BAD_REQUEST, output.request_parse_status);
     CPPUNIT_ASSERT_EQUAL(0, output.req_start);
     CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-1, output.req_end);
     CPPUNIT_ASSERT(memcmp(" GET / HTTP/1.1\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0);
@@ -628,7 +609,6 @@ testHttpRequest::testParseRequestLine()
     //printf("TEST: '%s'\n",input.content());
     HttpParserInit(&output, input.content(), input.contentSize());
     CPPUNIT_ASSERT_EQUAL(1, HttpParserParseReqLine(&output));
-    CPPUNIT_ASSERT_EQUAL(HTTP_OK, output.request_parse_status);
     CPPUNIT_ASSERT_EQUAL(0, output.req_start);
     CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-1, output.req_end);
     CPPUNIT_ASSERT(memcmp("\tGET / HTTP/1.1\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0);
@@ -649,7 +629,6 @@ testHttpRequest::testParseRequestLine()
     //printf("TEST: '%s'\n",input.content());
     HttpParserInit(&output, input.content(), input.contentSize());
     CPPUNIT_ASSERT_EQUAL(0, HttpParserParseReqLine(&output));
-    CPPUNIT_ASSERT_EQUAL(HTTP_STATUS_NONE, output.request_parse_status);
     CPPUNIT_ASSERT_EQUAL(0, output.req_start);
     CPPUNIT_ASSERT_EQUAL(-1, output.req_end);
     CPPUNIT_ASSERT_EQUAL(-1, output.m_start);
@@ -666,7 +645,6 @@ testHttpRequest::testParseRequestLine()
     //printf("TEST: '%s'\n",input.content());
     HttpParserInit(&output, input.content(), input.contentSize());
     CPPUNIT_ASSERT_EQUAL(0, HttpParserParseReqLine(&output));
-    CPPUNIT_ASSERT_EQUAL(HTTP_STATUS_NONE, output.request_parse_status);
     CPPUNIT_ASSERT_EQUAL(0, output.req_start);
     CPPUNIT_ASSERT_EQUAL(-1, output.req_end);
     CPPUNIT_ASSERT_EQUAL(-1, output.m_start);
@@ -683,7 +661,6 @@ testHttpRequest::testParseRequestLine()
     //printf("TEST: '%s'\n",input.content());
     HttpParserInit(&output, input.content(), input.contentSize());
     CPPUNIT_ASSERT_EQUAL(0, HttpParserParseReqLine(&output));
-    CPPUNIT_ASSERT_EQUAL(HTTP_STATUS_NONE, output.request_parse_status);
     CPPUNIT_ASSERT_EQUAL(0, output.req_start);
     CPPUNIT_ASSERT_EQUAL(-1, output.req_end);
     CPPUNIT_ASSERT_EQUAL(-1, output.m_start);
@@ -700,7 +677,6 @@ testHttpRequest::testParseRequestLine()
     //printf("TEST: '%s'\n",input.content());
     HttpParserInit(&output, input.content(), input.contentSize());
     CPPUNIT_ASSERT_EQUAL(0, HttpParserParseReqLine(&output));
-    CPPUNIT_ASSERT_EQUAL(HTTP_STATUS_NONE, output.request_parse_status);
     CPPUNIT_ASSERT_EQUAL(0, output.req_start);
     CPPUNIT_ASSERT_EQUAL(-1, output.req_end);
     CPPUNIT_ASSERT_EQUAL(-1, output.m_start);
@@ -718,7 +694,6 @@ testHttpRequest::testParseRequestLine()
     //printf("TEST: '%s'\n",input.content());
     HttpParserInit(&output, input.content(), input.contentSize());
     CPPUNIT_ASSERT_EQUAL(-1, HttpParserParseReqLine(&output));
-    CPPUNIT_ASSERT_EQUAL(HTTP_BAD_REQUEST, output.request_parse_status);
     CPPUNIT_ASSERT_EQUAL(0, output.req_start);
     CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-1, output.req_end);
     CPPUNIT_ASSERT(memcmp("A\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0);
@@ -737,7 +712,6 @@ testHttpRequest::testParseRequestLine()
     //printf("TEST: '%s'\n",input.content());
     HttpParserInit(&output, input.content(), input.contentSize());
     CPPUNIT_ASSERT_EQUAL(1, HttpParserParseReqLine(&output));
-    CPPUNIT_ASSERT_EQUAL(HTTP_OK, output.request_parse_status);
     CPPUNIT_ASSERT_EQUAL(0, output.req_start);
     CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-1, output.req_end);
     CPPUNIT_ASSERT(memcmp("/ HTTP/1.0\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0);
@@ -760,7 +734,6 @@ testHttpRequest::testParseRequestLine()
     // When tolerantly ignoring SP prefix this case becomes ambiguous with HTTP/0.9 simple-request)
     Config.onoff.relaxed_header_parser = 1;
     CPPUNIT_ASSERT_EQUAL(1, HttpParserParseReqLine(&output));
-    CPPUNIT_ASSERT_EQUAL(HTTP_OK, output.request_parse_status);
     CPPUNIT_ASSERT_EQUAL(1, output.req_start);
     CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-1, output.req_end);
     CPPUNIT_ASSERT(memcmp("/ HTTP/1.0\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0);
@@ -783,7 +756,6 @@ testHttpRequest::testParseRequestLine()
     // When tolerantly ignoring SP prefix this case becomes ambiguous with HTTP/0.9 simple-request)
     Config.onoff.relaxed_header_parser = 0;
     CPPUNIT_ASSERT_EQUAL(-1, HttpParserParseReqLine(&output));
-    CPPUNIT_ASSERT_EQUAL(HTTP_BAD_REQUEST, output.request_parse_status);
     CPPUNIT_ASSERT_EQUAL(0, output.req_start);
     CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-1, output.req_end);
     CPPUNIT_ASSERT(memcmp(" / HTTP/1.0\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0);
@@ -802,7 +774,6 @@ testHttpRequest::testParseRequestLine()
     //printf("TEST: %d-%d/%d '%.*s'\n", output.req_start, output.req_end, input.contentSize(), 16, input.content());
     HttpParserInit(&output, input.content(), input.contentSize());
     CPPUNIT_ASSERT_EQUAL(1, HttpParserParseReqLine(&output));
-    CPPUNIT_ASSERT_EQUAL(HTTP_OK, output.request_parse_status);
     CPPUNIT_ASSERT_EQUAL(0, output.req_start);
     CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-1, output.req_end);
     CPPUNIT_ASSERT(memcmp("GET\x0B / HTTP/1.1\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0);
@@ -825,7 +796,6 @@ testHttpRequest::testParseRequestLine()
     //printf("TEST: '%s'\n",input.content());
     HttpParserInit(&output, input.content(), input.contentSize());
     CPPUNIT_ASSERT_EQUAL(-1, HttpParserParseReqLine(&output));
-    CPPUNIT_ASSERT_EQUAL(HTTP_BAD_REQUEST, output.request_parse_status);
     CPPUNIT_ASSERT_EQUAL(0, output.req_start);
     CPPUNIT_ASSERT_EQUAL(-1, output.req_end);
     CPPUNIT_ASSERT_EQUAL(-1, output.m_start);
@@ -843,7 +813,6 @@ testHttpRequest::testParseRequestLine()
     //printf("TEST: %d-%d/%d '%.*s'\n", output.req_start, output.req_end, input.contentSize(), 16, input.content());
     HttpParserInit(&output, input.content(), input.contentSize());
     CPPUNIT_ASSERT_EQUAL(1, HttpParserParseReqLine(&output));
-    CPPUNIT_ASSERT_EQUAL(HTTP_OK, output.request_parse_status);
     CPPUNIT_ASSERT_EQUAL(0, output.req_start);
     CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-1, output.req_end);
     CPPUNIT_ASSERT(memcmp("GET\0 / HTTP/1.1\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0);
@@ -865,7 +834,6 @@ testHttpRequest::testParseRequestLine()
     //printf("TEST: '%s'\n",input.content());
     HttpParserInit(&output, input.content(), input.contentSize());
     CPPUNIT_ASSERT_EQUAL(1, HttpParserParseReqLine(&output));
-    CPPUNIT_ASSERT_EQUAL(HTTP_OK, output.request_parse_status);
     CPPUNIT_ASSERT_EQUAL(0, output.req_start);
     CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-1, output.req_end);
     CPPUNIT_ASSERT(memcmp("GET  HTTP/1.1\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0);
@@ -886,7 +854,6 @@ testHttpRequest::testParseRequestLine()
     //printf("TEST: '%s'\n",input.content());
     HttpParserInit(&output, input.content(), input.contentSize());
     CPPUNIT_ASSERT_EQUAL(1, HttpParserParseReqLine(&output));
-    CPPUNIT_ASSERT_EQUAL(HTTP_OK, output.request_parse_status);
     CPPUNIT_ASSERT_EQUAL(0, output.req_start);
     CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-1, output.req_end);
     CPPUNIT_ASSERT(memcmp("GET HTTP/1.1\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0);
@@ -907,7 +874,6 @@ testHttpRequest::testParseRequestLine()
     //printf("TEST: '%s'\n",input.content());
     HttpParserInit(&output, input.content(), input.contentSize());
     CPPUNIT_ASSERT_EQUAL(-1, HttpParserParseReqLine(&output));
-    CPPUNIT_ASSERT_EQUAL(HTTP_HTTP_VERSION_NOT_SUPPORTED, output.request_parse_status);
     CPPUNIT_ASSERT_EQUAL(0, output.req_start);
     CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-1, output.req_end);
     CPPUNIT_ASSERT(memcmp("GET / HTTP/\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0);
@@ -929,7 +895,6 @@ testHttpRequest::testParseRequestLine()
     //printf("TEST: '%s'\n",input.content());
     HttpParserInit(&output, input.content(), input.contentSize());
     CPPUNIT_ASSERT_EQUAL(-1, HttpParserParseReqLine(&output));
-    CPPUNIT_ASSERT_EQUAL(HTTP_HTTP_VERSION_NOT_SUPPORTED, output.request_parse_status);
     CPPUNIT_ASSERT_EQUAL(0, output.req_start);
     CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-1, output.req_end);
     CPPUNIT_ASSERT(memcmp("GET / HTTP/.1\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0);
@@ -951,7 +916,6 @@ testHttpRequest::testParseRequestLine()
     //printf("TEST: '%s'\n",input.content());
     HttpParserInit(&output, input.content(), input.contentSize());
     CPPUNIT_ASSERT_EQUAL(-1, HttpParserParseReqLine(&output));
-    CPPUNIT_ASSERT_EQUAL(HTTP_HTTP_VERSION_NOT_SUPPORTED, output.request_parse_status);
     CPPUNIT_ASSERT_EQUAL(0, output.req_start);
     CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-1, output.req_end);
     CPPUNIT_ASSERT(memcmp("GET / HTTP/11\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0);
@@ -973,7 +937,6 @@ testHttpRequest::testParseRequestLine()
     //printf("TEST: '%s'\n",input.content());
     HttpParserInit(&output, input.content(), input.contentSize());
     CPPUNIT_ASSERT_EQUAL(-1, HttpParserParseReqLine(&output));
-    CPPUNIT_ASSERT_EQUAL(HTTP_HTTP_VERSION_NOT_SUPPORTED, output.request_parse_status);
     CPPUNIT_ASSERT_EQUAL(0, output.req_start);
     CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-1, output.req_end);
     CPPUNIT_ASSERT(memcmp("GET / HTTP/1.\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0);
@@ -995,7 +958,6 @@ testHttpRequest::testParseRequestLine()
     //printf("TEST: binary-line\n");
     HttpParserInit(&output, input.content(), input.contentSize());
     CPPUNIT_ASSERT_EQUAL(-1, HttpParserParseReqLine(&output));
-    CPPUNIT_ASSERT_EQUAL(HTTP_BAD_REQUEST, output.request_parse_status);
     CPPUNIT_ASSERT_EQUAL(0, output.req_start);
     CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-1, output.req_end);
     CPPUNIT_ASSERT(memcmp("\xB\xC\xE\xF\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0);
@@ -1016,7 +978,6 @@ testHttpRequest::testParseRequestLine()
     //printf("TEST: mixed whitespace\n");
     HttpParserInit(&output, input.content(), input.contentSize());
     CPPUNIT_ASSERT_EQUAL(-1, HttpParserParseReqLine(&output));
-    CPPUNIT_ASSERT_EQUAL(HTTP_BAD_REQUEST, output.request_parse_status);
     CPPUNIT_ASSERT_EQUAL(0, output.req_start);
     CPPUNIT_ASSERT_EQUAL((int)input.contentSize()-1, output.req_end);
     CPPUNIT_ASSERT(memcmp("\t \t \t\n", &output.buf[output.req_start],(output.req_end-output.req_start+1)) == 0);
@@ -1038,7 +999,6 @@ testHttpRequest::testParseRequestLine()
     //printf("TEST: mixed whitespace with CR\n");
     HttpParserInit(&output, input.content(), input.contentSize());
     CPPUNIT_ASSERT_EQUAL(-1, HttpParserParseReqLine(&output));
-    CPPUNIT_ASSERT_EQUAL(HTTP_BAD_REQUEST, output.request_parse_status);
     CPPUNIT_ASSERT_EQUAL(0, output.req_start);
     CPPUNIT_ASSERT_EQUAL(-1, output.req_end);
     CPPUNIT_ASSERT_EQUAL(-1, output.m_start);