• Home
  • Raw
  • Download

Lines Matching full:parser

8 int llhttp_message_needs_eof(const llhttp_t* parser);
9 int llhttp_should_keep_alive(const llhttp_t* parser);
11 int llhttp__before_headers_complete(llhttp_t* parser, const char* p, in llhttp__before_headers_complete() argument
14 if ((parser->flags & F_UPGRADE) && in llhttp__before_headers_complete()
15 (parser->flags & F_CONNECTION_UPGRADE)) { in llhttp__before_headers_complete()
20 parser->upgrade = in llhttp__before_headers_complete()
21 (parser->type == HTTP_REQUEST || parser->status_code == 101); in llhttp__before_headers_complete()
23 parser->upgrade = (parser->method == HTTP_CONNECT); in llhttp__before_headers_complete()
37 int llhttp__after_headers_complete(llhttp_t* parser, const char* p, in llhttp__after_headers_complete() argument
41 hasBody = parser->flags & F_CHUNKED || parser->content_length > 0; in llhttp__after_headers_complete()
42 if (parser->upgrade && (parser->method == HTTP_CONNECT || in llhttp__after_headers_complete()
43 (parser->flags & F_SKIPBODY) || !hasBody)) { in llhttp__after_headers_complete()
48 if (parser->flags & F_SKIPBODY) { in llhttp__after_headers_complete()
50 } else if (parser->flags & F_CHUNKED) { in llhttp__after_headers_complete()
53 } else if (parser->flags & F_TRANSFER_ENCODING) { in llhttp__after_headers_complete()
54 if (parser->type == HTTP_REQUEST && (parser->flags & F_LENIENT) == 0) { in llhttp__after_headers_complete()
75 if (!(parser->flags & F_CONTENT_LENGTH)) { in llhttp__after_headers_complete()
76 if (!llhttp_message_needs_eof(parser)) { in llhttp__after_headers_complete()
83 } else if (parser->content_length == 0) { in llhttp__after_headers_complete()
94 int llhttp__after_message_complete(llhttp_t* parser, const char* p, in llhttp__after_message_complete() argument
98 should_keep_alive = llhttp_should_keep_alive(parser); in llhttp__after_message_complete()
99 parser->finish = HTTP_FINISH_SAFE; in llhttp__after_message_complete()
102 parser->flags &= F_LENIENT; in llhttp__after_message_complete()
109 int llhttp_message_needs_eof(const llhttp_t* parser) { in llhttp_message_needs_eof() argument
110 if (parser->type == HTTP_REQUEST) { in llhttp_message_needs_eof()
115 if (parser->status_code / 100 == 1 || /* 1xx e.g. Continue */ in llhttp_message_needs_eof()
116 parser->status_code == 204 || /* No Content */ in llhttp_message_needs_eof()
117 parser->status_code == 304 || /* Not Modified */ in llhttp_message_needs_eof()
118 (parser->flags & F_SKIPBODY)) { /* response to a HEAD request */ in llhttp_message_needs_eof()
123 if ((parser->flags & F_TRANSFER_ENCODING) && in llhttp_message_needs_eof()
124 (parser->flags & F_CHUNKED) == 0) { in llhttp_message_needs_eof()
128 if (parser->flags & (F_CHUNKED | F_CONTENT_LENGTH)) { in llhttp_message_needs_eof()
136 int llhttp_should_keep_alive(const llhttp_t* parser) { in llhttp_should_keep_alive() argument
137 if (parser->http_major > 0 && parser->http_minor > 0) { in llhttp_should_keep_alive()
139 if (parser->flags & F_CONNECTION_CLOSE) { in llhttp_should_keep_alive()
144 if (!(parser->flags & F_CONNECTION_KEEP_ALIVE)) { in llhttp_should_keep_alive()
149 return !llhttp_message_needs_eof(parser); in llhttp_should_keep_alive()