22#define INCLUDE_LLHTTP_H_
33
44#define LLHTTP_VERSION_MAJOR 8
5- #define LLHTTP_VERSION_MINOR 0
5+ #define LLHTTP_VERSION_MINOR 1
66#define LLHTTP_VERSION_PATCH 0
77
88#ifndef LLHTTP_STRICT_MODE
@@ -187,6 +187,11 @@ enum llhttp_status {
187187 HTTP_STATUS_SWITCHING_PROTOCOLS = 101 ,
188188 HTTP_STATUS_PROCESSING = 102 ,
189189 HTTP_STATUS_EARLY_HINTS = 103 ,
190+ HTTP_STATUS_RESPONSE_IS_STALE = 110 ,
191+ HTTP_STATUS_REVALIDATION_FAILED = 111 ,
192+ HTTP_STATUS_DISCONNECTED_OPERATION = 112 ,
193+ HTTP_STATUS_HEURISTIC_EXPIRATION = 113 ,
194+ HTTP_STATUS_MISCELLANEOUS_WARNING = 199 ,
190195 HTTP_STATUS_OK = 200 ,
191196 HTTP_STATUS_CREATED = 201 ,
192197 HTTP_STATUS_ACCEPTED = 202 ,
@@ -196,13 +201,16 @@ enum llhttp_status {
196201 HTTP_STATUS_PARTIAL_CONTENT = 206 ,
197202 HTTP_STATUS_MULTI_STATUS = 207 ,
198203 HTTP_STATUS_ALREADY_REPORTED = 208 ,
204+ HTTP_STATUS_TRANSFORMATION_APPLIED = 214 ,
199205 HTTP_STATUS_IM_USED = 226 ,
206+ HTTP_STATUS_MISCELLANEOUS_PERSISTENT_WARNING = 299 ,
200207 HTTP_STATUS_MULTIPLE_CHOICES = 300 ,
201208 HTTP_STATUS_MOVED_PERMANENTLY = 301 ,
202209 HTTP_STATUS_FOUND = 302 ,
203210 HTTP_STATUS_SEE_OTHER = 303 ,
204211 HTTP_STATUS_NOT_MODIFIED = 304 ,
205212 HTTP_STATUS_USE_PROXY = 305 ,
213+ HTTP_STATUS_SWITCH_PROXY = 306 ,
206214 HTTP_STATUS_TEMPORARY_REDIRECT = 307 ,
207215 HTTP_STATUS_PERMANENT_REDIRECT = 308 ,
208216 HTTP_STATUS_BAD_REQUEST = 400 ,
@@ -224,6 +232,8 @@ enum llhttp_status {
224232 HTTP_STATUS_RANGE_NOT_SATISFIABLE = 416 ,
225233 HTTP_STATUS_EXPECTATION_FAILED = 417 ,
226234 HTTP_STATUS_IM_A_TEAPOT = 418 ,
235+ HTTP_STATUS_PAGE_EXPIRED = 419 ,
236+ HTTP_STATUS_ENHANCE_YOUR_CALM = 420 ,
227237 HTTP_STATUS_MISDIRECTED_REQUEST = 421 ,
228238 HTTP_STATUS_UNPROCESSABLE_ENTITY = 422 ,
229239 HTTP_STATUS_LOCKED = 423 ,
@@ -232,8 +242,21 @@ enum llhttp_status {
232242 HTTP_STATUS_UPGRADE_REQUIRED = 426 ,
233243 HTTP_STATUS_PRECONDITION_REQUIRED = 428 ,
234244 HTTP_STATUS_TOO_MANY_REQUESTS = 429 ,
245+ HTTP_STATUS_REQUEST_HEADER_FIELDS_TOO_LARGE_UNOFFICIAL = 430 ,
235246 HTTP_STATUS_REQUEST_HEADER_FIELDS_TOO_LARGE = 431 ,
247+ HTTP_STATUS_LOGIN_TIMEOUT = 440 ,
248+ HTTP_STATUS_NO_RESPONSE = 444 ,
249+ HTTP_STATUS_RETRY_WITH = 449 ,
250+ HTTP_STATUS_BLOCKED_BY_PARENTAL_CONTROL = 450 ,
236251 HTTP_STATUS_UNAVAILABLE_FOR_LEGAL_REASONS = 451 ,
252+ HTTP_STATUS_CLIENT_CLOSED_LOAD_BALANCED_REQUEST = 460 ,
253+ HTTP_STATUS_INVALID_X_FORWARDED_FOR = 463 ,
254+ HTTP_STATUS_REQUEST_HEADER_TOO_LARGE = 494 ,
255+ HTTP_STATUS_SSL_CERTIFICATE_ERROR = 495 ,
256+ HTTP_STATUS_SSL_CERTIFICATE_REQUIRED = 496 ,
257+ HTTP_STATUS_HTTP_REQUEST_SENT_TO_HTTPS_PORT = 497 ,
258+ HTTP_STATUS_INVALID_TOKEN = 498 ,
259+ HTTP_STATUS_CLIENT_CLOSED_REQUEST = 499 ,
237260 HTTP_STATUS_INTERNAL_SERVER_ERROR = 500 ,
238261 HTTP_STATUS_NOT_IMPLEMENTED = 501 ,
239262 HTTP_STATUS_BAD_GATEWAY = 502 ,
@@ -245,7 +268,20 @@ enum llhttp_status {
245268 HTTP_STATUS_LOOP_DETECTED = 508 ,
246269 HTTP_STATUS_BANDWIDTH_LIMIT_EXCEEDED = 509 ,
247270 HTTP_STATUS_NOT_EXTENDED = 510 ,
248- HTTP_STATUS_NETWORK_AUTHENTICATION_REQUIRED = 511
271+ HTTP_STATUS_NETWORK_AUTHENTICATION_REQUIRED = 511 ,
272+ HTTP_STATUS_WEB_SERVER_UNKNOWN_ERROR = 520 ,
273+ HTTP_STATUS_WEB_SERVER_IS_DOWN = 521 ,
274+ HTTP_STATUS_CONNECTION_TIMEOUT = 522 ,
275+ HTTP_STATUS_ORIGIN_IS_UNREACHABLE = 523 ,
276+ HTTP_STATUS_TIMEOUT_OCCURED = 524 ,
277+ HTTP_STATUS_SSL_HANDSHAKE_FAILED = 525 ,
278+ HTTP_STATUS_INVALID_SSL_CERTIFICATE = 526 ,
279+ HTTP_STATUS_RAILGUN_ERROR = 527 ,
280+ HTTP_STATUS_SITE_IS_OVERLOADED = 529 ,
281+ HTTP_STATUS_SITE_IS_FROZEN = 530 ,
282+ HTTP_STATUS_IDENTITY_PROVIDER_AUTHENTICATION_ERROR = 561 ,
283+ HTTP_STATUS_NETWORK_READ_TIMEOUT = 598 ,
284+ HTTP_STATUS_NETWORK_CONNECT_TIMEOUT = 599
249285};
250286typedef enum llhttp_status llhttp_status_t ;
251287
@@ -396,6 +432,11 @@ typedef enum llhttp_status llhttp_status_t;
396432 XX(101, SWITCHING_PROTOCOLS, SWITCHING_PROTOCOLS) \
397433 XX(102, PROCESSING, PROCESSING) \
398434 XX(103, EARLY_HINTS, EARLY_HINTS) \
435+ XX(110, RESPONSE_IS_STALE, RESPONSE_IS_STALE) \
436+ XX(111, REVALIDATION_FAILED, REVALIDATION_FAILED) \
437+ XX(112, DISCONNECTED_OPERATION, DISCONNECTED_OPERATION) \
438+ XX(113, HEURISTIC_EXPIRATION, HEURISTIC_EXPIRATION) \
439+ XX(199, MISCELLANEOUS_WARNING, MISCELLANEOUS_WARNING) \
399440 XX(200, OK, OK) \
400441 XX(201, CREATED, CREATED) \
401442 XX(202, ACCEPTED, ACCEPTED) \
@@ -405,13 +446,16 @@ typedef enum llhttp_status llhttp_status_t;
405446 XX(206, PARTIAL_CONTENT, PARTIAL_CONTENT) \
406447 XX(207, MULTI_STATUS, MULTI_STATUS) \
407448 XX(208, ALREADY_REPORTED, ALREADY_REPORTED) \
449+ XX(214, TRANSFORMATION_APPLIED, TRANSFORMATION_APPLIED) \
408450 XX(226, IM_USED, IM_USED) \
451+ XX(299, MISCELLANEOUS_PERSISTENT_WARNING, MISCELLANEOUS_PERSISTENT_WARNING) \
409452 XX(300, MULTIPLE_CHOICES, MULTIPLE_CHOICES) \
410453 XX(301, MOVED_PERMANENTLY, MOVED_PERMANENTLY) \
411454 XX(302, FOUND, FOUND) \
412455 XX(303, SEE_OTHER, SEE_OTHER) \
413456 XX(304, NOT_MODIFIED, NOT_MODIFIED) \
414457 XX(305, USE_PROXY, USE_PROXY) \
458+ XX(306, SWITCH_PROXY, SWITCH_PROXY) \
415459 XX(307, TEMPORARY_REDIRECT, TEMPORARY_REDIRECT) \
416460 XX(308, PERMANENT_REDIRECT, PERMANENT_REDIRECT) \
417461 XX(400, BAD_REQUEST, BAD_REQUEST) \
@@ -433,6 +477,8 @@ typedef enum llhttp_status llhttp_status_t;
433477 XX(416, RANGE_NOT_SATISFIABLE, RANGE_NOT_SATISFIABLE) \
434478 XX(417, EXPECTATION_FAILED, EXPECTATION_FAILED) \
435479 XX(418, IM_A_TEAPOT, IM_A_TEAPOT) \
480+ XX(419, PAGE_EXPIRED, PAGE_EXPIRED) \
481+ XX(420, ENHANCE_YOUR_CALM, ENHANCE_YOUR_CALM) \
436482 XX(421, MISDIRECTED_REQUEST, MISDIRECTED_REQUEST) \
437483 XX(422, UNPROCESSABLE_ENTITY, UNPROCESSABLE_ENTITY) \
438484 XX(423, LOCKED, LOCKED) \
@@ -441,8 +487,21 @@ typedef enum llhttp_status llhttp_status_t;
441487 XX(426, UPGRADE_REQUIRED, UPGRADE_REQUIRED) \
442488 XX(428, PRECONDITION_REQUIRED, PRECONDITION_REQUIRED) \
443489 XX(429, TOO_MANY_REQUESTS, TOO_MANY_REQUESTS) \
490+ XX(430, REQUEST_HEADER_FIELDS_TOO_LARGE_UNOFFICIAL, REQUEST_HEADER_FIELDS_TOO_LARGE_UNOFFICIAL) \
444491 XX(431, REQUEST_HEADER_FIELDS_TOO_LARGE, REQUEST_HEADER_FIELDS_TOO_LARGE) \
492+ XX(440, LOGIN_TIMEOUT, LOGIN_TIMEOUT) \
493+ XX(444, NO_RESPONSE, NO_RESPONSE) \
494+ XX(449, RETRY_WITH, RETRY_WITH) \
495+ XX(450, BLOCKED_BY_PARENTAL_CONTROL, BLOCKED_BY_PARENTAL_CONTROL) \
445496 XX(451, UNAVAILABLE_FOR_LEGAL_REASONS, UNAVAILABLE_FOR_LEGAL_REASONS) \
497+ XX(460, CLIENT_CLOSED_LOAD_BALANCED_REQUEST, CLIENT_CLOSED_LOAD_BALANCED_REQUEST) \
498+ XX(463, INVALID_X_FORWARDED_FOR, INVALID_X_FORWARDED_FOR) \
499+ XX(494, REQUEST_HEADER_TOO_LARGE, REQUEST_HEADER_TOO_LARGE) \
500+ XX(495, SSL_CERTIFICATE_ERROR, SSL_CERTIFICATE_ERROR) \
501+ XX(496, SSL_CERTIFICATE_REQUIRED, SSL_CERTIFICATE_REQUIRED) \
502+ XX(497, HTTP_REQUEST_SENT_TO_HTTPS_PORT, HTTP_REQUEST_SENT_TO_HTTPS_PORT) \
503+ XX(498, INVALID_TOKEN, INVALID_TOKEN) \
504+ XX(499, CLIENT_CLOSED_REQUEST, CLIENT_CLOSED_REQUEST) \
446505 XX(500, INTERNAL_SERVER_ERROR, INTERNAL_SERVER_ERROR) \
447506 XX(501, NOT_IMPLEMENTED, NOT_IMPLEMENTED) \
448507 XX(502, BAD_GATEWAY, BAD_GATEWAY) \
@@ -455,6 +514,19 @@ typedef enum llhttp_status llhttp_status_t;
455514 XX(509, BANDWIDTH_LIMIT_EXCEEDED, BANDWIDTH_LIMIT_EXCEEDED) \
456515 XX(510, NOT_EXTENDED, NOT_EXTENDED) \
457516 XX(511, NETWORK_AUTHENTICATION_REQUIRED, NETWORK_AUTHENTICATION_REQUIRED) \
517+ XX(520, WEB_SERVER_UNKNOWN_ERROR, WEB_SERVER_UNKNOWN_ERROR) \
518+ XX(521, WEB_SERVER_IS_DOWN, WEB_SERVER_IS_DOWN) \
519+ XX(522, CONNECTION_TIMEOUT, CONNECTION_TIMEOUT) \
520+ XX(523, ORIGIN_IS_UNREACHABLE, ORIGIN_IS_UNREACHABLE) \
521+ XX(524, TIMEOUT_OCCURED, TIMEOUT_OCCURED) \
522+ XX(525, SSL_HANDSHAKE_FAILED, SSL_HANDSHAKE_FAILED) \
523+ XX(526, INVALID_SSL_CERTIFICATE, INVALID_SSL_CERTIFICATE) \
524+ XX(527, RAILGUN_ERROR, RAILGUN_ERROR) \
525+ XX(529, SITE_IS_OVERLOADED, SITE_IS_OVERLOADED) \
526+ XX(530, SITE_IS_FROZEN, SITE_IS_FROZEN) \
527+ XX(561, IDENTITY_PROVIDER_AUTHENTICATION_ERROR, IDENTITY_PROVIDER_AUTHENTICATION_ERROR) \
528+ XX(598, NETWORK_READ_TIMEOUT, NETWORK_READ_TIMEOUT) \
529+ XX(599, NETWORK_CONNECT_TIMEOUT, NETWORK_CONNECT_TIMEOUT) \
458530
459531
460532#ifdef __cplusplus
0 commit comments