12c593315Sopenharmony_cicommit a143133d43420ef89e4ba0d84c73998863cf9f81
22c593315Sopenharmony_ciAuthor: Tatsuhiro Tsujikawa <tatsuhiro.t@gmail.com>
32c593315Sopenharmony_ciDate:   Wed Jul 11 18:46:00 2012 +0900
42c593315Sopenharmony_ci
52c593315Sopenharmony_ci    Use http_parser for tunneling connection transparently
62c593315Sopenharmony_ci
72c593315Sopenharmony_cidiff --git a/examples/http-parser/http_parser.c b/examples/http-parser/http_parser.c
82c593315Sopenharmony_ciindex 0c11eb8..610da57 100644
92c593315Sopenharmony_ci--- a/examples/http-parser/http_parser.c
102c593315Sopenharmony_ci+++ b/examples/http-parser/http_parser.c
112c593315Sopenharmony_ci@@ -1627,9 +1627,14 @@ size_t http_parser_execute (http_parser *parser,
122c593315Sopenharmony_ci 
132c593315Sopenharmony_ci         /* Exit, the rest of the connect is in a different protocol. */
142c593315Sopenharmony_ci         if (parser->upgrade) {
152c593315Sopenharmony_ci-          parser->state = NEW_MESSAGE();
162c593315Sopenharmony_ci-          CALLBACK_NOTIFY(message_complete);
172c593315Sopenharmony_ci-          return (p - data) + 1;
182c593315Sopenharmony_ci+          /* We want to use http_parser for tunneling connection
192c593315Sopenharmony_ci+             transparently */
202c593315Sopenharmony_ci+          /* Read body until EOF */
212c593315Sopenharmony_ci+          parser->state = s_body_identity_eof;
222c593315Sopenharmony_ci+          break;
232c593315Sopenharmony_ci+          /* parser->state = NEW_MESSAGE(); */
242c593315Sopenharmony_ci+          /* CALLBACK_NOTIFY(message_complete); */
252c593315Sopenharmony_ci+          /* return (p - data) + 1; */
262c593315Sopenharmony_ci         }
272c593315Sopenharmony_ci 
282c593315Sopenharmony_ci         if (parser->flags & F_SKIPBODY) {
29