| 
															
																@@ -27,7 +27,7 @@ extern "C" { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 /* Also update SONAME in the Makefile whenever you change these. */ 
															 | 
															
															 | 
															
																 /* Also update SONAME in the Makefile whenever you change these. */ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 #define HTTP_PARSER_VERSION_MAJOR 2 
															 | 
															
															 | 
															
																 #define HTTP_PARSER_VERSION_MAJOR 2 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 #define HTTP_PARSER_VERSION_MINOR 9 
															 | 
															
															 | 
															
																 #define HTTP_PARSER_VERSION_MINOR 9 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-#define HTTP_PARSER_VERSION_PATCH 3 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+#define HTTP_PARSER_VERSION_PATCH 4 
															 | 
														
													
												
													
														
															| 
															 | 
															
																  
															 | 
															
															 | 
															
																  
															 | 
														
													
												
													
														
															| 
															 | 
															
																 #include <stddef.h> 
															 | 
															
															 | 
															
																 #include <stddef.h> 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 #if defined(_WIN32) && !defined(__MINGW32__) && \ 
															 | 
															
															 | 
															
																 #if defined(_WIN32) && !defined(__MINGW32__) && \ 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -225,7 +225,7 @@ enum flags 
															 | 
														
													
												
													
														
															| 
															 | 
															
																   , F_UPGRADE               = 1 << 5 
															 | 
															
															 | 
															
																   , F_UPGRADE               = 1 << 5 
															 | 
														
													
												
													
														
															| 
															 | 
															
																   , F_SKIPBODY              = 1 << 6 
															 | 
															
															 | 
															
																   , F_SKIPBODY              = 1 << 6 
															 | 
														
													
												
													
														
															| 
															 | 
															
																   , F_CONTENTLENGTH         = 1 << 7 
															 | 
															
															 | 
															
																   , F_CONTENTLENGTH         = 1 << 7 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-  , F_TRANSFER_ENCODING     = 1 << 8 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+  , F_TRANSFER_ENCODING     = 1 << 8  /* Never set in http_parser.flags */ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																   }; 
															 | 
															
															 | 
															
																   }; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																  
															 | 
															
															 | 
															
																  
															 | 
														
													
												
													
														
															| 
															 | 
															
																  
															 | 
															
															 | 
															
																  
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -272,13 +272,13 @@ enum flags 
															 | 
														
													
												
													
														
															| 
															 | 
															
																      "unexpected content-length header")                             \ 
															 | 
															
															 | 
															
																      "unexpected content-length header")                             \ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																   XX(INVALID_CHUNK_SIZE,                                             \ 
															 | 
															
															 | 
															
																   XX(INVALID_CHUNK_SIZE,                                             \ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																      "invalid character in chunk size header")                       \ 
															 | 
															
															 | 
															
																      "invalid character in chunk size header")                       \ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-  XX(INVALID_TRANSFER_ENCODING,                                      \ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-     "request has invalid transfer-encoding")                        \ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																   XX(INVALID_CONSTANT, "invalid constant string")                    \ 
															 | 
															
															 | 
															
																   XX(INVALID_CONSTANT, "invalid constant string")                    \ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																   XX(INVALID_INTERNAL_STATE, "encountered unexpected internal state")\ 
															 | 
															
															 | 
															
																   XX(INVALID_INTERNAL_STATE, "encountered unexpected internal state")\ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																   XX(STRICT, "strict mode assertion failed")                         \ 
															 | 
															
															 | 
															
																   XX(STRICT, "strict mode assertion failed")                         \ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																   XX(PAUSED, "parser is paused")                                     \ 
															 | 
															
															 | 
															
																   XX(PAUSED, "parser is paused")                                     \ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-  XX(UNKNOWN, "an unknown error occurred") 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+  XX(UNKNOWN, "an unknown error occurred")                           \ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+  XX(INVALID_TRANSFER_ENCODING,                                      \ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+     "request has invalid transfer-encoding")                        \ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																  
															 | 
															
															 | 
															
																  
															 | 
														
													
												
													
														
															| 
															 | 
															
																  
															 | 
															
															 | 
															
																  
															 | 
														
													
												
													
														
															| 
															 | 
															
																 /* Define HPE_* values for each errno value above */ 
															 | 
															
															 | 
															
																 /* Define HPE_* values for each errno value above */ 
															 | 
														
													
												
											
												
													
														
															 | 
															
																@@ -296,11 +296,12 @@ enum http_errno { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 struct http_parser { 
															 | 
															
															 | 
															
																 struct http_parser { 
															 | 
														
													
												
													
														
															| 
															 | 
															
																   /** PRIVATE **/ 
															 | 
															
															 | 
															
																   /** PRIVATE **/ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																   unsigned int type : 2;         /* enum http_parser_type */ 
															 | 
															
															 | 
															
																   unsigned int type : 2;         /* enum http_parser_type */ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+  unsigned int flags : 8;       /* F_* values from 'flags' enum; semi-public */ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																   unsigned int state : 7;        /* enum state from http_parser.c */ 
															 | 
															
															 | 
															
																   unsigned int state : 7;        /* enum state from http_parser.c */ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																   unsigned int header_state : 7; /* enum header_state from http_parser.c */ 
															 | 
															
															 | 
															
																   unsigned int header_state : 7; /* enum header_state from http_parser.c */ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-  unsigned int index : 7;        /* index into current matcher */ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+  unsigned int index : 5;        /* index into current matcher */ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																 
															 | 
															
															 | 
															
																+  unsigned int extra_flags : 2; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																   unsigned int lenient_http_headers : 1; 
															 | 
															
															 | 
															
																   unsigned int lenient_http_headers : 1; 
															 | 
														
													
												
													
														
															| 
															 | 
															
																-  unsigned int flags : 16;       /* F_* values from 'flags' enum; semi-public */ 
															 | 
															
															 | 
															
																 
															 | 
														
													
												
													
														
															| 
															 | 
															
																  
															 | 
															
															 | 
															
																  
															 | 
														
													
												
													
														
															| 
															 | 
															
																   uint32_t nread;          /* # bytes read in various scenarios */ 
															 | 
															
															 | 
															
																   uint32_t nread;          /* # bytes read in various scenarios */ 
															 | 
														
													
												
													
														
															| 
															 | 
															
																   uint64_t content_length; /* # bytes in body (0 if no Content-Length header) */ 
															 | 
															
															 | 
															
																   uint64_t content_length; /* # bytes in body (0 if no Content-Length header) */ 
															 |