Browse Source

Upgrade http-parser

v0.7.4-release
Ryan Dahl 14 years ago
parent
commit
e42c74e141
  1. 17
      deps/http_parser/http_parser.c
  2. 10
      deps/http_parser/test.c

17
deps/http_parser/http_parser.c

@ -331,10 +331,20 @@ size_t http_parser_execute (http_parser *parser,
uint64_t nread = parser->nread;
if (len == 0) {
if (state == s_body_identity_eof) {
CALLBACK2(message_complete);
switch (state) {
case s_body_identity_eof:
CALLBACK2(message_complete);
return 0;
case s_dead:
case s_start_req_or_res:
case s_start_res:
case s_start_req:
return 0;
default:
return 1; // error
}
return 0;
}
/* technically we could combine all of these (except for url_mark) into one
@ -1384,6 +1394,7 @@ size_t http_parser_execute (http_parser *parser,
break;
default:
parser->state = state;
return p - data; /* Error */
}
}

10
deps/http_parser/test.c

@ -1735,14 +1735,22 @@ main (void)
/// REQUESTS
test_simple("hello world", 0);
test_simple("GET / HTP/1.1\r\n\r\n", 0);
test_simple("ASDF / HTTP/1.1\r\n\r\n", 0);
test_simple("PROPPATCHA / HTTP/1.1\r\n\r\n", 0);
test_simple("GETA / HTTP/1.1\r\n\r\n", 0);
// Well-formed but incomplete
test_simple("GET / HTTP/1.1\r\n"
"Content-Type: text/plain\r\n"
"Content-Length: 6\r\n"
"\r\n"
"fooba",
0);
static const char *all_methods[] = {
"DELETE",
"GET",

Loading…
Cancel
Save