11 #endif /* __SSE4_2__ */
14 #define ALIGN(n) _declspec(align(n))
16 #define ALIGN(n) __attribute__((aligned(n)))
21 typedef int (*llhttp__internal__span_cb)(
22 llhttp__internal_t*, const char*, const char*);
24 static const unsigned char llparse_blob0[] = {
28 static const unsigned char ALIGN(16) llparse_blob1[] = {
29 0x9, 0x9, 0xc, 0xc, '!', '"', '$', '>', '@', '~', 0x80,
30 0xff, 0x0, 0x0, 0x0, 0x0
32 #endif /* __SSE4_2__ */
33 static const unsigned char llparse_blob2[] = {
36 static const unsigned char llparse_blob3[] = {
37 'e', 'c', 't', 'i', 'o', 'n'
39 static const unsigned char llparse_blob4[] = {
42 static const unsigned char llparse_blob5[] = {
43 'e', 'e', 'p', '-', 'a', 'l', 'i', 'v', 'e'
45 static const unsigned char llparse_blob6[] = {
46 'p', 'g', 'r', 'a', 'd', 'e'
49 static const unsigned char ALIGN(16) llparse_blob7[] = {
50 0x9, 0x9, ' ', '~', 0x80, 0xfe, 0x0, 0x0, 0x0, 0x0, 0x0,
51 0x0, 0x0, 0x0, 0x0, 0x0
53 #endif /* __SSE4_2__ */
54 static const unsigned char llparse_blob8[] = {
55 'c', 'h', 'u', 'n', 'k', 'e', 'd'
58 static const unsigned char ALIGN(16) llparse_blob9[] = {
59 ' ', '!', '#', '\'', '*', '+', '-', '.', '0', '9', 'A',
60 'Z', '^', 'z', '|', '|'
62 #endif /* __SSE4_2__ */
64 static const unsigned char ALIGN(16) llparse_blob10[] = {
65 '~', '~', 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0,
66 0x0, 0x0, 0x0, 0x0, 0x0
68 #endif /* __SSE4_2__ */
69 static const unsigned char llparse_blob11[] = {
70 'e', 'n', 't', '-', 'l', 'e', 'n', 'g', 't', 'h'
72 static const unsigned char llparse_blob12[] = {
73 'r', 'o', 'x', 'y', '-', 'c', 'o', 'n', 'n', 'e', 'c',
76 static const unsigned char llparse_blob13[] = {
77 'r', 'a', 'n', 's', 'f', 'e', 'r', '-', 'e', 'n', 'c',
78 'o', 'd', 'i', 'n', 'g'
80 static const unsigned char llparse_blob14[] = {
81 'p', 'g', 'r', 'a', 'd', 'e'
83 static const unsigned char llparse_blob15[] = {
86 static const unsigned char llparse_blob16[] = {
89 static const unsigned char llparse_blob17[] = {
92 static const unsigned char llparse_blob18[] = {
95 static const unsigned char llparse_blob19[] = {
96 'E', 'C', 'K', 'O', 'U', 'T'
98 static const unsigned char llparse_blob20[] = {
101 static const unsigned char llparse_blob21[] = {
102 'E', 'L', 'E', 'T', 'E'
104 static const unsigned char llparse_blob22[] = {
107 static const unsigned char llparse_blob23[] = {
110 static const unsigned char llparse_blob24[] = {
113 static const unsigned char llparse_blob25[] = {
116 static const unsigned char llparse_blob26[] = {
117 'S', 'E', 'A', 'R', 'C', 'H'
119 static const unsigned char llparse_blob27[] = {
122 static const unsigned char llparse_blob28[] = {
123 'C', 'T', 'I', 'V', 'I', 'T', 'Y'
125 static const unsigned char llparse_blob29[] = {
126 'L', 'E', 'N', 'D', 'A', 'R'
128 static const unsigned char llparse_blob30[] = {
131 static const unsigned char llparse_blob31[] = {
132 'O', 'T', 'I', 'F', 'Y'
134 static const unsigned char llparse_blob32[] = {
135 'P', 'T', 'I', 'O', 'N', 'S'
137 static const unsigned char llparse_blob33[] = {
140 static const unsigned char llparse_blob34[] = {
143 static const unsigned char llparse_blob35[] = {
146 static const unsigned char llparse_blob36[] = {
149 static const unsigned char llparse_blob37[] = {
152 static const unsigned char llparse_blob38[] = {
155 static const unsigned char llparse_blob39[] = {
158 static const unsigned char llparse_blob40[] = {
161 static const unsigned char llparse_blob41[] = {
164 static const unsigned char llparse_blob42[] = {
167 static const unsigned char llparse_blob43[] = {
168 'B', 'S', 'C', 'R', 'I', 'B', 'E'
170 static const unsigned char llparse_blob44[] = {
173 static const unsigned char llparse_blob45[] = {
176 static const unsigned char llparse_blob46[] = {
179 static const unsigned char llparse_blob47[] = {
182 static const unsigned char llparse_blob48[] = {
183 'U', 'B', 'S', 'C', 'R', 'I', 'B', 'E'
185 static const unsigned char llparse_blob49[] = {
186 'H', 'T', 'T', 'P', '/'
188 static const unsigned char llparse_blob50[] = {
191 static const unsigned char llparse_blob51[] = {
195 enum llparse_match_status_e {
200 typedef enum llparse_match_status_e llparse_match_status_t;
202 struct llparse_match_s {
203 llparse_match_status_t status;
204 const unsigned char* current;
206 typedef struct llparse_match_s llparse_match_t;
208 static llparse_match_t llparse__match_sequence_id(
209 llhttp__internal_t* s, const unsigned char* p,
210 const unsigned char* endp,
211 const unsigned char* seq, uint32_t seq_len) {
216 for (; p != endp; p++) {
217 unsigned char current;
220 if (current == seq[index]) {
221 if (++index == seq_len) {
222 res.status = kMatchComplete;
226 res.status = kMatchMismatch;
231 res.status = kMatchPause;
240 static llparse_match_t llparse__match_sequence_to_lower_unsafe(
241 llhttp__internal_t* s, const unsigned char* p,
242 const unsigned char* endp,
243 const unsigned char* seq, uint32_t seq_len) {
248 for (; p != endp; p++) {
249 unsigned char current;
251 current = ((*p) | 0x20);
252 if (current == seq[index]) {
253 if (++index == seq_len) {
254 res.status = kMatchComplete;
258 res.status = kMatchMismatch;
263 res.status = kMatchPause;
272 enum llparse_state_e {
274 s_n_llhttp__internal__n_invoke_llhttp__after_message_complete,
275 s_n_llhttp__internal__n_pause_1,
276 s_n_llhttp__internal__n_invoke_is_equal_upgrade,
277 s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_2,
278 s_n_llhttp__internal__n_chunk_data_almost_done_skip,
279 s_n_llhttp__internal__n_chunk_data_almost_done,
280 s_n_llhttp__internal__n_consume_content_length,
281 s_n_llhttp__internal__n_span_start_llhttp__on_body,
282 s_n_llhttp__internal__n_invoke_is_equal_content_length,
283 s_n_llhttp__internal__n_chunk_size_almost_done,
284 s_n_llhttp__internal__n_chunk_parameters,
285 s_n_llhttp__internal__n_chunk_size_otherwise,
286 s_n_llhttp__internal__n_chunk_size,
287 s_n_llhttp__internal__n_chunk_size_digit,
288 s_n_llhttp__internal__n_invoke_update_content_length,
289 s_n_llhttp__internal__n_consume_content_length_1,
290 s_n_llhttp__internal__n_span_start_llhttp__on_body_1,
291 s_n_llhttp__internal__n_eof,
292 s_n_llhttp__internal__n_span_start_llhttp__on_body_2,
293 s_n_llhttp__internal__n_invoke_llhttp__after_headers_complete,
294 s_n_llhttp__internal__n_headers_almost_done,
295 s_n_llhttp__internal__n_span_start_llhttp__on_header_value,
296 s_n_llhttp__internal__n_header_value_discard_lws,
297 s_n_llhttp__internal__n_header_value_discard_ws_almost_done,
298 s_n_llhttp__internal__n_header_value_lws,
299 s_n_llhttp__internal__n_header_value_almost_done,
300 s_n_llhttp__internal__n_header_value_lenient,
301 s_n_llhttp__internal__n_header_value_otherwise,
302 s_n_llhttp__internal__n_header_value_connection_token,
303 s_n_llhttp__internal__n_header_value_connection_ws,
304 s_n_llhttp__internal__n_header_value_connection_1,
305 s_n_llhttp__internal__n_header_value_connection_2,
306 s_n_llhttp__internal__n_header_value_connection_3,
307 s_n_llhttp__internal__n_header_value_connection,
308 s_n_llhttp__internal__n_error_18,
309 s_n_llhttp__internal__n_header_value,
310 s_n_llhttp__internal__n_header_value_discard_rws,
311 s_n_llhttp__internal__n_error_19,
312 s_n_llhttp__internal__n_header_value_content_length_ws,
313 s_n_llhttp__internal__n_header_value_content_length,
314 s_n_llhttp__internal__n_header_value_te_chunked_last,
315 s_n_llhttp__internal__n_header_value_te_token_ows,
316 s_n_llhttp__internal__n_header_value_te_token,
317 s_n_llhttp__internal__n_header_value_te_chunked,
318 s_n_llhttp__internal__n_span_start_llhttp__on_header_value_1,
319 s_n_llhttp__internal__n_header_value_discard_ws,
320 s_n_llhttp__internal__n_header_field_general_otherwise,
321 s_n_llhttp__internal__n_header_field_general,
322 s_n_llhttp__internal__n_header_field_colon,
323 s_n_llhttp__internal__n_header_field_3,
324 s_n_llhttp__internal__n_header_field_4,
325 s_n_llhttp__internal__n_header_field_2,
326 s_n_llhttp__internal__n_header_field_1,
327 s_n_llhttp__internal__n_header_field_5,
328 s_n_llhttp__internal__n_header_field_6,
329 s_n_llhttp__internal__n_header_field_7,
330 s_n_llhttp__internal__n_header_field,
331 s_n_llhttp__internal__n_span_start_llhttp__on_header_field,
332 s_n_llhttp__internal__n_header_field_start,
333 s_n_llhttp__internal__n_url_skip_to_http09,
334 s_n_llhttp__internal__n_url_skip_lf_to_http09,
335 s_n_llhttp__internal__n_req_http_end_1,
336 s_n_llhttp__internal__n_req_http_end,
337 s_n_llhttp__internal__n_req_http_minor,
338 s_n_llhttp__internal__n_req_http_dot,
339 s_n_llhttp__internal__n_req_http_major,
340 s_n_llhttp__internal__n_req_http_start_1,
341 s_n_llhttp__internal__n_req_http_start_2,
342 s_n_llhttp__internal__n_req_http_start,
343 s_n_llhttp__internal__n_url_skip_to_http,
344 s_n_llhttp__internal__n_url_fragment,
345 s_n_llhttp__internal__n_span_end_stub_query_3,
346 s_n_llhttp__internal__n_url_query,
347 s_n_llhttp__internal__n_url_query_or_fragment,
348 s_n_llhttp__internal__n_url_path,
349 s_n_llhttp__internal__n_span_start_stub_path_2,
350 s_n_llhttp__internal__n_span_start_stub_path,
351 s_n_llhttp__internal__n_span_start_stub_path_1,
352 s_n_llhttp__internal__n_url_server_with_at,
353 s_n_llhttp__internal__n_url_server,
354 s_n_llhttp__internal__n_url_schema_delim_1,
355 s_n_llhttp__internal__n_url_schema_delim,
356 s_n_llhttp__internal__n_span_end_stub_schema,
357 s_n_llhttp__internal__n_url_schema,
358 s_n_llhttp__internal__n_url_start,
359 s_n_llhttp__internal__n_span_start_llhttp__on_url_1,
360 s_n_llhttp__internal__n_span_start_llhttp__on_url,
361 s_n_llhttp__internal__n_req_spaces_before_url,
362 s_n_llhttp__internal__n_req_first_space_before_url,
363 s_n_llhttp__internal__n_start_req_1,
364 s_n_llhttp__internal__n_start_req_2,
365 s_n_llhttp__internal__n_start_req_4,
366 s_n_llhttp__internal__n_start_req_6,
367 s_n_llhttp__internal__n_start_req_7,
368 s_n_llhttp__internal__n_start_req_5,
369 s_n_llhttp__internal__n_start_req_3,
370 s_n_llhttp__internal__n_start_req_8,
371 s_n_llhttp__internal__n_start_req_9,
372 s_n_llhttp__internal__n_start_req_10,
373 s_n_llhttp__internal__n_start_req_12,
374 s_n_llhttp__internal__n_start_req_13,
375 s_n_llhttp__internal__n_start_req_11,
376 s_n_llhttp__internal__n_start_req_15,
377 s_n_llhttp__internal__n_start_req_16,
378 s_n_llhttp__internal__n_start_req_18,
379 s_n_llhttp__internal__n_start_req_20,
380 s_n_llhttp__internal__n_start_req_21,
381 s_n_llhttp__internal__n_start_req_19,
382 s_n_llhttp__internal__n_start_req_17,
383 s_n_llhttp__internal__n_start_req_22,
384 s_n_llhttp__internal__n_start_req_14,
385 s_n_llhttp__internal__n_start_req_23,
386 s_n_llhttp__internal__n_start_req_24,
387 s_n_llhttp__internal__n_start_req_26,
388 s_n_llhttp__internal__n_start_req_27,
389 s_n_llhttp__internal__n_start_req_30,
390 s_n_llhttp__internal__n_start_req_31,
391 s_n_llhttp__internal__n_start_req_29,
392 s_n_llhttp__internal__n_start_req_28,
393 s_n_llhttp__internal__n_start_req_33,
394 s_n_llhttp__internal__n_start_req_32,
395 s_n_llhttp__internal__n_start_req_25,
396 s_n_llhttp__internal__n_start_req_36,
397 s_n_llhttp__internal__n_start_req_37,
398 s_n_llhttp__internal__n_start_req_35,
399 s_n_llhttp__internal__n_start_req_34,
400 s_n_llhttp__internal__n_start_req_39,
401 s_n_llhttp__internal__n_start_req_40,
402 s_n_llhttp__internal__n_start_req_41,
403 s_n_llhttp__internal__n_start_req_38,
404 s_n_llhttp__internal__n_start_req_42,
405 s_n_llhttp__internal__n_start_req_45,
406 s_n_llhttp__internal__n_start_req_47,
407 s_n_llhttp__internal__n_start_req_48,
408 s_n_llhttp__internal__n_start_req_46,
409 s_n_llhttp__internal__n_start_req_49,
410 s_n_llhttp__internal__n_start_req_44,
411 s_n_llhttp__internal__n_start_req_43,
412 s_n_llhttp__internal__n_start_req,
413 s_n_llhttp__internal__n_res_line_almost_done,
414 s_n_llhttp__internal__n_res_status,
415 s_n_llhttp__internal__n_span_start_llhttp__on_status,
416 s_n_llhttp__internal__n_res_status_start,
417 s_n_llhttp__internal__n_res_status_code_otherwise,
418 s_n_llhttp__internal__n_res_status_code,
419 s_n_llhttp__internal__n_res_http_end,
420 s_n_llhttp__internal__n_res_http_minor,
421 s_n_llhttp__internal__n_res_http_dot,
422 s_n_llhttp__internal__n_res_http_major,
423 s_n_llhttp__internal__n_start_res,
424 s_n_llhttp__internal__n_req_or_res_method_2,
425 s_n_llhttp__internal__n_req_or_res_method_3,
426 s_n_llhttp__internal__n_req_or_res_method_1,
427 s_n_llhttp__internal__n_req_or_res_method,
428 s_n_llhttp__internal__n_start_req_or_res,
429 s_n_llhttp__internal__n_invoke_load_type,
430 s_n_llhttp__internal__n_start,
432 typedef enum llparse_state_e llparse_state_t;
435 llhttp__internal_t* s, const unsigned char* p,
436 const unsigned char* endp);
438 int llhttp__on_header_field(
439 llhttp__internal_t* s, const unsigned char* p,
440 const unsigned char* endp);
442 int llhttp__on_header_value(
443 llhttp__internal_t* s, const unsigned char* p,
444 const unsigned char* endp);
447 llhttp__internal_t* s, const unsigned char* p,
448 const unsigned char* endp);
450 int llhttp__on_status(
451 llhttp__internal_t* s, const unsigned char* p,
452 const unsigned char* endp);
454 int llhttp__internal__c_update_finish(
455 llhttp__internal_t* state,
456 const unsigned char* p,
457 const unsigned char* endp) {
462 int llhttp__on_message_begin(
463 llhttp__internal_t* s, const unsigned char* p,
464 const unsigned char* endp);
466 int llhttp__internal__c_load_type(
467 llhttp__internal_t* state,
468 const unsigned char* p,
469 const unsigned char* endp) {
473 int llhttp__internal__c_store_method(
474 llhttp__internal_t* state,
475 const unsigned char* p,
476 const unsigned char* endp,
478 state->method = match;
482 int llhttp__internal__c_is_equal_method(
483 llhttp__internal_t* state,
484 const unsigned char* p,
485 const unsigned char* endp) {
486 return state->method == 5;
489 int llhttp__internal__c_update_http_major(
490 llhttp__internal_t* state,
491 const unsigned char* p,
492 const unsigned char* endp) {
493 state->http_major = 0;
497 int llhttp__internal__c_update_http_minor(
498 llhttp__internal_t* state,
499 const unsigned char* p,
500 const unsigned char* endp) {
501 state->http_minor = 9;
505 int llhttp__internal__c_test_flags(
506 llhttp__internal_t* state,
507 const unsigned char* p,
508 const unsigned char* endp) {
509 return (state->flags & 128) == 128;
512 int llhttp__on_chunk_complete(
513 llhttp__internal_t* s, const unsigned char* p,
514 const unsigned char* endp);
516 int llhttp__on_message_complete(
517 llhttp__internal_t* s, const unsigned char* p,
518 const unsigned char* endp);
520 int llhttp__internal__c_is_equal_upgrade(
521 llhttp__internal_t* state,
522 const unsigned char* p,
523 const unsigned char* endp) {
524 return state->upgrade == 1;
527 int llhttp__after_message_complete(
528 llhttp__internal_t* s, const unsigned char* p,
529 const unsigned char* endp);
531 int llhttp__internal__c_update_finish_1(
532 llhttp__internal_t* state,
533 const unsigned char* p,
534 const unsigned char* endp) {
539 int llhttp__internal__c_test_flags_1(
540 llhttp__internal_t* state,
541 const unsigned char* p,
542 const unsigned char* endp) {
543 return (state->flags & 544) == 544;
546 int llhttp__internal__c_test_flags_2(
547 llhttp__internal_t* state,
548 const unsigned char* p,
549 const unsigned char* endp) {
550 return (state->flags & 256) == 256;
553 int llhttp__internal__c_test_flags_3(
554 llhttp__internal_t* state,
555 const unsigned char* p,
556 const unsigned char* endp) {
557 return (state->flags & 40) == 40;
560 int llhttp__before_headers_complete(
561 llhttp__internal_t* s, const unsigned char* p,
562 const unsigned char* endp);
564 int llhttp__on_headers_complete(
565 llhttp__internal_t* s, const unsigned char* p,
566 const unsigned char* endp);
568 int llhttp__after_headers_complete(
569 llhttp__internal_t* s, const unsigned char* p,
570 const unsigned char* endp);
572 int llhttp__internal__c_update_content_length(
573 llhttp__internal_t* state,
574 const unsigned char* p,
575 const unsigned char* endp) {
576 state->content_length = 0;
580 int llhttp__internal__c_mul_add_content_length(
581 llhttp__internal_t* state,
582 const unsigned char* p,
583 const unsigned char* endp,
585 /* Multiplication overflow */
586 if (state->content_length > 0xffffffffffffffffULL / 16) {
590 state->content_length *= 16;
592 /* Addition overflow */
594 if (state->content_length > 0xffffffffffffffffULL - match) {
598 if (state->content_length < 0ULL - match) {
602 state->content_length += match;
606 int llhttp__on_chunk_header(
607 llhttp__internal_t* s, const unsigned char* p,
608 const unsigned char* endp);
610 int llhttp__internal__c_is_equal_content_length(
611 llhttp__internal_t* state,
612 const unsigned char* p,
613 const unsigned char* endp) {
614 return state->content_length == 0;
617 int llhttp__internal__c_or_flags(
618 llhttp__internal_t* state,
619 const unsigned char* p,
620 const unsigned char* endp) {
625 int llhttp__internal__c_update_finish_2(
626 llhttp__internal_t* state,
627 const unsigned char* p,
628 const unsigned char* endp) {
633 int llhttp__internal__c_or_flags_1(
634 llhttp__internal_t* state,
635 const unsigned char* p,
636 const unsigned char* endp) {
641 int llhttp__internal__c_update_upgrade(
642 llhttp__internal_t* state,
643 const unsigned char* p,
644 const unsigned char* endp) {
649 int llhttp__internal__c_store_header_state(
650 llhttp__internal_t* state,
651 const unsigned char* p,
652 const unsigned char* endp,
654 state->header_state = match;
658 int llhttp__internal__c_load_header_state(
659 llhttp__internal_t* state,
660 const unsigned char* p,
661 const unsigned char* endp) {
662 return state->header_state;
665 int llhttp__internal__c_or_flags_3(
666 llhttp__internal_t* state,
667 const unsigned char* p,
668 const unsigned char* endp) {
673 int llhttp__internal__c_update_header_state(
674 llhttp__internal_t* state,
675 const unsigned char* p,
676 const unsigned char* endp) {
677 state->header_state = 1;
681 int llhttp__internal__c_or_flags_4(
682 llhttp__internal_t* state,
683 const unsigned char* p,
684 const unsigned char* endp) {
689 int llhttp__internal__c_or_flags_5(
690 llhttp__internal_t* state,
691 const unsigned char* p,
692 const unsigned char* endp) {
697 int llhttp__internal__c_or_flags_6(
698 llhttp__internal_t* state,
699 const unsigned char* p,
700 const unsigned char* endp) {
705 int llhttp__internal__c_update_header_state_2(
706 llhttp__internal_t* state,
707 const unsigned char* p,
708 const unsigned char* endp) {
709 state->header_state = 6;
713 int llhttp__internal__c_update_header_state_4(
714 llhttp__internal_t* state,
715 const unsigned char* p,
716 const unsigned char* endp) {
717 state->header_state = 0;
721 int llhttp__internal__c_update_header_state_5(
722 llhttp__internal_t* state,
723 const unsigned char* p,
724 const unsigned char* endp) {
725 state->header_state = 5;
729 int llhttp__internal__c_update_header_state_6(
730 llhttp__internal_t* state,
731 const unsigned char* p,
732 const unsigned char* endp) {
733 state->header_state = 7;
737 int llhttp__internal__c_test_flags_5(
738 llhttp__internal_t* state,
739 const unsigned char* p,
740 const unsigned char* endp) {
741 return (state->flags & 32) == 32;
744 int llhttp__internal__c_mul_add_content_length_1(
745 llhttp__internal_t* state,
746 const unsigned char* p,
747 const unsigned char* endp,
749 /* Multiplication overflow */
750 if (state->content_length > 0xffffffffffffffffULL / 10) {
754 state->content_length *= 10;
756 /* Addition overflow */
758 if (state->content_length > 0xffffffffffffffffULL - match) {
762 if (state->content_length < 0ULL - match) {
766 state->content_length += match;
770 int llhttp__internal__c_or_flags_15(
771 llhttp__internal_t* state,
772 const unsigned char* p,
773 const unsigned char* endp) {
778 int llhttp__internal__c_or_flags_16(
779 llhttp__internal_t* state,
780 const unsigned char* p,
781 const unsigned char* endp) {
786 int llhttp__internal__c_update_header_state_8(
787 llhttp__internal_t* state,
788 const unsigned char* p,
789 const unsigned char* endp) {
790 state->header_state = 8;
794 int llhttp__internal__c_or_flags_17(
795 llhttp__internal_t* state,
796 const unsigned char* p,
797 const unsigned char* endp) {
802 int llhttp__internal__c_store_http_major(
803 llhttp__internal_t* state,
804 const unsigned char* p,
805 const unsigned char* endp,
807 state->http_major = match;
811 int llhttp__internal__c_store_http_minor(
812 llhttp__internal_t* state,
813 const unsigned char* p,
814 const unsigned char* endp,
816 state->http_minor = match;
820 int llhttp__internal__c_is_equal_method_1(
821 llhttp__internal_t* state,
822 const unsigned char* p,
823 const unsigned char* endp) {
824 return state->method == 33;
827 int llhttp__internal__c_update_status_code(
828 llhttp__internal_t* state,
829 const unsigned char* p,
830 const unsigned char* endp) {
831 state->status_code = 0;
835 int llhttp__internal__c_mul_add_status_code(
836 llhttp__internal_t* state,
837 const unsigned char* p,
838 const unsigned char* endp,
840 /* Multiplication overflow */
841 if (state->status_code > 0xffff / 10) {
845 state->status_code *= 10;
847 /* Addition overflow */
849 if (state->status_code > 0xffff - match) {
853 if (state->status_code < 0 - match) {
857 state->status_code += match;
859 /* Enforce maximum */
860 if (state->status_code > 999) {
866 int llhttp__internal__c_update_type(
867 llhttp__internal_t* state,
868 const unsigned char* p,
869 const unsigned char* endp) {
874 int llhttp__internal__c_update_type_1(
875 llhttp__internal_t* state,
876 const unsigned char* p,
877 const unsigned char* endp) {
882 int llhttp__internal_init(llhttp__internal_t* state) {
883 memset(state, 0, sizeof(*state));
884 state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_start;
888 static llparse_state_t llhttp__internal__run(
889 llhttp__internal_t* state,
890 const unsigned char* p,
891 const unsigned char* endp) {
893 switch ((llparse_state_t) (intptr_t) state->_current) {
894 case s_n_llhttp__internal__n_invoke_llhttp__after_message_complete:
895 s_n_llhttp__internal__n_invoke_llhttp__after_message_complete: {
896 switch (llhttp__after_message_complete(state, p, endp)) {
898 goto s_n_llhttp__internal__n_invoke_update_finish_1;
903 case s_n_llhttp__internal__n_pause_1:
904 s_n_llhttp__internal__n_pause_1: {
906 state->reason = "Pause on CONNECT/Upgrade";
907 state->error_pos = (const char*) p;
908 state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_llhttp__after_message_complete;
913 case s_n_llhttp__internal__n_invoke_is_equal_upgrade:
914 s_n_llhttp__internal__n_invoke_is_equal_upgrade: {
915 switch (llhttp__internal__c_is_equal_upgrade(state, p, endp)) {
917 goto s_n_llhttp__internal__n_invoke_llhttp__after_message_complete;
919 goto s_n_llhttp__internal__n_pause_1;
924 case s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_2:
925 s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_2: {
926 switch (llhttp__on_message_complete(state, p, endp)) {
928 goto s_n_llhttp__internal__n_invoke_is_equal_upgrade;
930 goto s_n_llhttp__internal__n_pause_5;
932 goto s_n_llhttp__internal__n_error_9;
937 case s_n_llhttp__internal__n_chunk_data_almost_done_skip:
938 s_n_llhttp__internal__n_chunk_data_almost_done_skip: {
940 return s_n_llhttp__internal__n_chunk_data_almost_done_skip;
943 goto s_n_llhttp__internal__n_invoke_llhttp__on_chunk_complete;
947 case s_n_llhttp__internal__n_chunk_data_almost_done:
948 s_n_llhttp__internal__n_chunk_data_almost_done: {
950 return s_n_llhttp__internal__n_chunk_data_almost_done;
953 goto s_n_llhttp__internal__n_chunk_data_almost_done_skip;
957 case s_n_llhttp__internal__n_consume_content_length:
958 s_n_llhttp__internal__n_consume_content_length: {
963 need = state->content_length;
966 state->content_length = 0;
967 goto s_n_llhttp__internal__n_span_end_llhttp__on_body;
970 state->content_length -= avail;
971 return s_n_llhttp__internal__n_consume_content_length;
975 case s_n_llhttp__internal__n_span_start_llhttp__on_body:
976 s_n_llhttp__internal__n_span_start_llhttp__on_body: {
978 return s_n_llhttp__internal__n_span_start_llhttp__on_body;
980 state->_span_pos0 = (void*) p;
981 state->_span_cb0 = llhttp__on_body;
982 goto s_n_llhttp__internal__n_consume_content_length;
986 case s_n_llhttp__internal__n_invoke_is_equal_content_length:
987 s_n_llhttp__internal__n_invoke_is_equal_content_length: {
988 switch (llhttp__internal__c_is_equal_content_length(state, p, endp)) {
990 goto s_n_llhttp__internal__n_span_start_llhttp__on_body;
992 goto s_n_llhttp__internal__n_invoke_or_flags;
997 case s_n_llhttp__internal__n_chunk_size_almost_done:
998 s_n_llhttp__internal__n_chunk_size_almost_done: {
1000 return s_n_llhttp__internal__n_chunk_size_almost_done;
1003 goto s_n_llhttp__internal__n_invoke_llhttp__on_chunk_header;
1007 case s_n_llhttp__internal__n_chunk_parameters:
1008 s_n_llhttp__internal__n_chunk_parameters: {
1010 return s_n_llhttp__internal__n_chunk_parameters;
1015 goto s_n_llhttp__internal__n_chunk_size_almost_done;
1019 goto s_n_llhttp__internal__n_chunk_parameters;
1025 case s_n_llhttp__internal__n_chunk_size_otherwise:
1026 s_n_llhttp__internal__n_chunk_size_otherwise: {
1028 return s_n_llhttp__internal__n_chunk_size_otherwise;
1033 goto s_n_llhttp__internal__n_chunk_size_almost_done;
1037 goto s_n_llhttp__internal__n_chunk_parameters;
1041 goto s_n_llhttp__internal__n_chunk_parameters;
1044 goto s_n_llhttp__internal__n_error_6;
1050 case s_n_llhttp__internal__n_chunk_size:
1051 s_n_llhttp__internal__n_chunk_size: {
1053 return s_n_llhttp__internal__n_chunk_size;
1059 goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1064 goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1069 goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1074 goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1079 goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1084 goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1089 goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1094 goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1099 goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1104 goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1109 goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1114 goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1119 goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1124 goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1129 goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1134 goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1139 goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1144 goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1149 goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1154 goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1159 goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1164 goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1167 goto s_n_llhttp__internal__n_chunk_size_otherwise;
1173 case s_n_llhttp__internal__n_chunk_size_digit:
1174 s_n_llhttp__internal__n_chunk_size_digit: {
1176 return s_n_llhttp__internal__n_chunk_size_digit;
1182 goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1187 goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1192 goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1197 goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1202 goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1207 goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1212 goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1217 goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1222 goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1227 goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1232 goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1237 goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1242 goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1247 goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1252 goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1257 goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1262 goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1267 goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1272 goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1277 goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1282 goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1287 goto s_n_llhttp__internal__n_invoke_mul_add_content_length;
1290 goto s_n_llhttp__internal__n_error_8;
1296 case s_n_llhttp__internal__n_invoke_update_content_length:
1297 s_n_llhttp__internal__n_invoke_update_content_length: {
1298 switch (llhttp__internal__c_update_content_length(state, p, endp)) {
1300 goto s_n_llhttp__internal__n_chunk_size_digit;
1305 case s_n_llhttp__internal__n_consume_content_length_1:
1306 s_n_llhttp__internal__n_consume_content_length_1: {
1311 need = state->content_length;
1312 if (avail >= need) {
1314 state->content_length = 0;
1315 goto s_n_llhttp__internal__n_span_end_llhttp__on_body_1;
1318 state->content_length -= avail;
1319 return s_n_llhttp__internal__n_consume_content_length_1;
1323 case s_n_llhttp__internal__n_span_start_llhttp__on_body_1:
1324 s_n_llhttp__internal__n_span_start_llhttp__on_body_1: {
1326 return s_n_llhttp__internal__n_span_start_llhttp__on_body_1;
1328 state->_span_pos0 = (void*) p;
1329 state->_span_cb0 = llhttp__on_body;
1330 goto s_n_llhttp__internal__n_consume_content_length_1;
1334 case s_n_llhttp__internal__n_eof:
1335 s_n_llhttp__internal__n_eof: {
1337 return s_n_llhttp__internal__n_eof;
1340 goto s_n_llhttp__internal__n_eof;
1344 case s_n_llhttp__internal__n_span_start_llhttp__on_body_2:
1345 s_n_llhttp__internal__n_span_start_llhttp__on_body_2: {
1347 return s_n_llhttp__internal__n_span_start_llhttp__on_body_2;
1349 state->_span_pos0 = (void*) p;
1350 state->_span_cb0 = llhttp__on_body;
1351 goto s_n_llhttp__internal__n_eof;
1355 case s_n_llhttp__internal__n_invoke_llhttp__after_headers_complete:
1356 s_n_llhttp__internal__n_invoke_llhttp__after_headers_complete: {
1357 switch (llhttp__after_headers_complete(state, p, endp)) {
1359 goto s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_1;
1361 goto s_n_llhttp__internal__n_invoke_update_content_length;
1363 goto s_n_llhttp__internal__n_span_start_llhttp__on_body_1;
1365 goto s_n_llhttp__internal__n_invoke_update_finish_2;
1367 goto s_n_llhttp__internal__n_error_10;
1369 goto s_n_llhttp__internal__n_invoke_llhttp__on_message_complete;
1374 case s_n_llhttp__internal__n_headers_almost_done:
1375 s_n_llhttp__internal__n_headers_almost_done: {
1377 return s_n_llhttp__internal__n_headers_almost_done;
1380 goto s_n_llhttp__internal__n_invoke_test_flags;
1384 case s_n_llhttp__internal__n_span_start_llhttp__on_header_value:
1385 s_n_llhttp__internal__n_span_start_llhttp__on_header_value: {
1387 return s_n_llhttp__internal__n_span_start_llhttp__on_header_value;
1389 state->_span_pos0 = (void*) p;
1390 state->_span_cb0 = llhttp__on_header_value;
1391 goto s_n_llhttp__internal__n_span_end_llhttp__on_header_value;
1395 case s_n_llhttp__internal__n_header_value_discard_lws:
1396 s_n_llhttp__internal__n_header_value_discard_lws: {
1398 return s_n_llhttp__internal__n_header_value_discard_lws;
1403 goto s_n_llhttp__internal__n_header_value_discard_ws;
1407 goto s_n_llhttp__internal__n_header_value_discard_ws;
1410 goto s_n_llhttp__internal__n_invoke_load_header_state;
1416 case s_n_llhttp__internal__n_header_value_discard_ws_almost_done:
1417 s_n_llhttp__internal__n_header_value_discard_ws_almost_done: {
1419 return s_n_llhttp__internal__n_header_value_discard_ws_almost_done;
1422 goto s_n_llhttp__internal__n_header_value_discard_lws;
1426 case s_n_llhttp__internal__n_header_value_lws:
1427 s_n_llhttp__internal__n_header_value_lws: {
1429 return s_n_llhttp__internal__n_header_value_lws;
1433 goto s_n_llhttp__internal__n_span_start_llhttp__on_header_value_1;
1436 goto s_n_llhttp__internal__n_span_start_llhttp__on_header_value_1;
1439 goto s_n_llhttp__internal__n_invoke_load_header_state_3;
1445 case s_n_llhttp__internal__n_header_value_almost_done:
1446 s_n_llhttp__internal__n_header_value_almost_done: {
1448 return s_n_llhttp__internal__n_header_value_almost_done;
1453 goto s_n_llhttp__internal__n_header_value_lws;
1456 goto s_n_llhttp__internal__n_error_15;
1462 case s_n_llhttp__internal__n_header_value_lenient:
1463 s_n_llhttp__internal__n_header_value_lenient: {
1465 return s_n_llhttp__internal__n_header_value_lenient;
1469 goto s_n_llhttp__internal__n_span_end_llhttp__on_header_value_1;
1472 goto s_n_llhttp__internal__n_span_end_llhttp__on_header_value_3;
1476 goto s_n_llhttp__internal__n_header_value_lenient;
1482 case s_n_llhttp__internal__n_header_value_otherwise:
1483 s_n_llhttp__internal__n_header_value_otherwise: {
1485 return s_n_llhttp__internal__n_header_value_otherwise;
1489 goto s_n_llhttp__internal__n_span_end_llhttp__on_header_value_1;
1492 goto s_n_llhttp__internal__n_span_end_llhttp__on_header_value_2;
1495 goto s_n_llhttp__internal__n_invoke_test_flags_4;
1501 case s_n_llhttp__internal__n_header_value_connection_token:
1502 s_n_llhttp__internal__n_header_value_connection_token: {
1503 static uint8_t lookup_table[] = {
1504 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
1505 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1506 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1,
1507 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1508 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1509 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1510 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1511 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
1512 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1513 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1514 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1515 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1516 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1517 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1518 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1519 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0
1522 return s_n_llhttp__internal__n_header_value_connection_token;
1524 switch (lookup_table[(uint8_t) *p]) {
1527 goto s_n_llhttp__internal__n_header_value_connection_token;
1531 goto s_n_llhttp__internal__n_header_value_connection;
1534 goto s_n_llhttp__internal__n_header_value_otherwise;
1540 case s_n_llhttp__internal__n_header_value_connection_ws:
1541 s_n_llhttp__internal__n_header_value_connection_ws: {
1543 return s_n_llhttp__internal__n_header_value_connection_ws;
1547 goto s_n_llhttp__internal__n_header_value_otherwise;
1550 goto s_n_llhttp__internal__n_header_value_otherwise;
1554 goto s_n_llhttp__internal__n_header_value_connection_ws;
1558 goto s_n_llhttp__internal__n_invoke_load_header_state_4;
1561 goto s_n_llhttp__internal__n_invoke_update_header_state_4;
1567 case s_n_llhttp__internal__n_header_value_connection_1:
1568 s_n_llhttp__internal__n_header_value_connection_1: {
1569 llparse_match_t match_seq;
1572 return s_n_llhttp__internal__n_header_value_connection_1;
1574 match_seq = llparse__match_sequence_to_lower_unsafe(state, p, endp, llparse_blob4, 4);
1575 p = match_seq.current;
1576 switch (match_seq.status) {
1577 case kMatchComplete: {
1579 goto s_n_llhttp__internal__n_invoke_update_header_state_2;
1582 return s_n_llhttp__internal__n_header_value_connection_1;
1584 case kMatchMismatch: {
1585 goto s_n_llhttp__internal__n_header_value_connection_token;
1591 case s_n_llhttp__internal__n_header_value_connection_2:
1592 s_n_llhttp__internal__n_header_value_connection_2: {
1593 llparse_match_t match_seq;
1596 return s_n_llhttp__internal__n_header_value_connection_2;
1598 match_seq = llparse__match_sequence_to_lower_unsafe(state, p, endp, llparse_blob5, 9);
1599 p = match_seq.current;
1600 switch (match_seq.status) {
1601 case kMatchComplete: {
1603 goto s_n_llhttp__internal__n_invoke_update_header_state_5;
1606 return s_n_llhttp__internal__n_header_value_connection_2;
1608 case kMatchMismatch: {
1609 goto s_n_llhttp__internal__n_header_value_connection_token;
1615 case s_n_llhttp__internal__n_header_value_connection_3:
1616 s_n_llhttp__internal__n_header_value_connection_3: {
1617 llparse_match_t match_seq;
1620 return s_n_llhttp__internal__n_header_value_connection_3;
1622 match_seq = llparse__match_sequence_to_lower_unsafe(state, p, endp, llparse_blob6, 6);
1623 p = match_seq.current;
1624 switch (match_seq.status) {
1625 case kMatchComplete: {
1627 goto s_n_llhttp__internal__n_invoke_update_header_state_6;
1630 return s_n_llhttp__internal__n_header_value_connection_3;
1632 case kMatchMismatch: {
1633 goto s_n_llhttp__internal__n_header_value_connection_token;
1639 case s_n_llhttp__internal__n_header_value_connection:
1640 s_n_llhttp__internal__n_header_value_connection: {
1642 return s_n_llhttp__internal__n_header_value_connection;
1644 switch (((*p) | 0x20)) {
1647 goto s_n_llhttp__internal__n_header_value_connection;
1651 goto s_n_llhttp__internal__n_header_value_connection;
1655 goto s_n_llhttp__internal__n_header_value_connection_1;
1659 goto s_n_llhttp__internal__n_header_value_connection_2;
1663 goto s_n_llhttp__internal__n_header_value_connection_3;
1666 goto s_n_llhttp__internal__n_header_value_connection_token;
1672 case s_n_llhttp__internal__n_error_18:
1673 s_n_llhttp__internal__n_error_18: {
1675 state->reason = "Content-Length overflow";
1676 state->error_pos = (const char*) p;
1677 state->_current = (void*) (intptr_t) s_error;
1682 case s_n_llhttp__internal__n_header_value:
1683 s_n_llhttp__internal__n_header_value: {
1684 static uint8_t lookup_table[] = {
1685 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
1686 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1687 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1688 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1689 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1690 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1691 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1692 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
1693 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1694 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1695 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1696 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1697 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1698 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1699 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1700 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0
1703 return s_n_llhttp__internal__n_header_value;
1706 if (endp - p >= 16) {
1713 input = _mm_loadu_si128((__m128i const*) p);
1714 ranges = _mm_loadu_si128((__m128i const*) llparse_blob7);
1716 /* Find first character that does not match `ranges` */
1717 match_len = _mm_cmpestri(ranges, 6,
1719 _SIDD_UBYTE_OPS | _SIDD_CMP_RANGES |
1720 _SIDD_NEGATIVE_POLARITY);
1722 if (match_len != 0) {
1724 goto s_n_llhttp__internal__n_header_value;
1726 goto s_n_llhttp__internal__n_header_value_otherwise;
1728 #endif /* __SSE4_2__ */
1729 switch (lookup_table[(uint8_t) *p]) {
1732 goto s_n_llhttp__internal__n_header_value;
1735 goto s_n_llhttp__internal__n_header_value_otherwise;
1741 case s_n_llhttp__internal__n_header_value_discard_rws:
1742 s_n_llhttp__internal__n_header_value_discard_rws: {
1744 return s_n_llhttp__internal__n_header_value_discard_rws;
1748 goto s_n_llhttp__internal__n_header_value_otherwise;
1751 goto s_n_llhttp__internal__n_header_value_otherwise;
1755 goto s_n_llhttp__internal__n_header_value_discard_rws;
1758 goto s_n_llhttp__internal__n_invoke_update_header_state_7;
1764 case s_n_llhttp__internal__n_error_19:
1765 s_n_llhttp__internal__n_error_19: {
1767 state->reason = "Invalid character in Content-Length";
1768 state->error_pos = (const char*) p;
1769 state->_current = (void*) (intptr_t) s_error;
1774 case s_n_llhttp__internal__n_header_value_content_length_ws:
1775 s_n_llhttp__internal__n_header_value_content_length_ws: {
1777 return s_n_llhttp__internal__n_header_value_content_length_ws;
1781 goto s_n_llhttp__internal__n_invoke_or_flags_15;
1784 goto s_n_llhttp__internal__n_invoke_or_flags_15;
1788 goto s_n_llhttp__internal__n_header_value_content_length_ws;
1791 goto s_n_llhttp__internal__n_span_end_llhttp__on_header_value_5;
1797 case s_n_llhttp__internal__n_header_value_content_length:
1798 s_n_llhttp__internal__n_header_value_content_length: {
1800 return s_n_llhttp__internal__n_header_value_content_length;
1806 goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
1811 goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
1816 goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
1821 goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
1826 goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
1831 goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
1836 goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
1841 goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
1846 goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
1851 goto s_n_llhttp__internal__n_invoke_mul_add_content_length_1;
1854 goto s_n_llhttp__internal__n_header_value_content_length_ws;
1860 case s_n_llhttp__internal__n_header_value_te_chunked_last:
1861 s_n_llhttp__internal__n_header_value_te_chunked_last: {
1863 return s_n_llhttp__internal__n_header_value_te_chunked_last;
1867 goto s_n_llhttp__internal__n_invoke_update_header_state_8;
1870 goto s_n_llhttp__internal__n_invoke_update_header_state_8;
1874 goto s_n_llhttp__internal__n_header_value_te_chunked_last;
1877 goto s_n_llhttp__internal__n_header_value_te_chunked;
1883 case s_n_llhttp__internal__n_header_value_te_token_ows:
1884 s_n_llhttp__internal__n_header_value_te_token_ows: {
1886 return s_n_llhttp__internal__n_header_value_te_token_ows;
1891 goto s_n_llhttp__internal__n_header_value_te_token_ows;
1895 goto s_n_llhttp__internal__n_header_value_te_token_ows;
1898 goto s_n_llhttp__internal__n_header_value_te_chunked;
1904 case s_n_llhttp__internal__n_header_value_te_token:
1905 s_n_llhttp__internal__n_header_value_te_token: {
1906 static uint8_t lookup_table[] = {
1907 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
1908 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1909 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 1,
1910 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1911 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1912 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1913 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1914 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
1915 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1916 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1917 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1918 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1919 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1920 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1921 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1922 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0
1925 return s_n_llhttp__internal__n_header_value_te_token;
1927 switch (lookup_table[(uint8_t) *p]) {
1930 goto s_n_llhttp__internal__n_header_value_te_token;
1934 goto s_n_llhttp__internal__n_header_value_te_token_ows;
1937 goto s_n_llhttp__internal__n_invoke_update_header_state_7;
1943 case s_n_llhttp__internal__n_header_value_te_chunked:
1944 s_n_llhttp__internal__n_header_value_te_chunked: {
1945 llparse_match_t match_seq;
1948 return s_n_llhttp__internal__n_header_value_te_chunked;
1950 match_seq = llparse__match_sequence_to_lower_unsafe(state, p, endp, llparse_blob8, 7);
1951 p = match_seq.current;
1952 switch (match_seq.status) {
1953 case kMatchComplete: {
1955 goto s_n_llhttp__internal__n_header_value_te_chunked_last;
1958 return s_n_llhttp__internal__n_header_value_te_chunked;
1960 case kMatchMismatch: {
1961 goto s_n_llhttp__internal__n_header_value_te_token;
1967 case s_n_llhttp__internal__n_span_start_llhttp__on_header_value_1:
1968 s_n_llhttp__internal__n_span_start_llhttp__on_header_value_1: {
1970 return s_n_llhttp__internal__n_span_start_llhttp__on_header_value_1;
1972 state->_span_pos0 = (void*) p;
1973 state->_span_cb0 = llhttp__on_header_value;
1974 goto s_n_llhttp__internal__n_invoke_load_header_state_2;
1978 case s_n_llhttp__internal__n_header_value_discard_ws:
1979 s_n_llhttp__internal__n_header_value_discard_ws: {
1981 return s_n_llhttp__internal__n_header_value_discard_ws;
1986 goto s_n_llhttp__internal__n_header_value_discard_ws;
1990 goto s_n_llhttp__internal__n_header_value_discard_lws;
1994 goto s_n_llhttp__internal__n_header_value_discard_ws_almost_done;
1998 goto s_n_llhttp__internal__n_header_value_discard_ws;
2001 goto s_n_llhttp__internal__n_span_start_llhttp__on_header_value_1;
2007 case s_n_llhttp__internal__n_header_field_general_otherwise:
2008 s_n_llhttp__internal__n_header_field_general_otherwise: {
2010 return s_n_llhttp__internal__n_header_field_general_otherwise;
2014 goto s_n_llhttp__internal__n_span_end_llhttp__on_header_field_1;
2017 goto s_n_llhttp__internal__n_error_20;
2023 case s_n_llhttp__internal__n_header_field_general:
2024 s_n_llhttp__internal__n_header_field_general: {
2025 static uint8_t lookup_table[] = {
2026 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2027 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2028 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0,
2029 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,
2030 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2031 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1,
2032 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2033 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0,
2034 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2035 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2036 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2037 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2038 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2039 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2040 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2041 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
2044 return s_n_llhttp__internal__n_header_field_general;
2047 if (endp - p >= 16) {
2054 input = _mm_loadu_si128((__m128i const*) p);
2055 ranges = _mm_loadu_si128((__m128i const*) llparse_blob9);
2057 /* Find first character that does not match `ranges` */
2058 match_len = _mm_cmpestri(ranges, 16,
2060 _SIDD_UBYTE_OPS | _SIDD_CMP_RANGES |
2061 _SIDD_NEGATIVE_POLARITY);
2063 if (match_len != 0) {
2065 goto s_n_llhttp__internal__n_header_field_general;
2067 ranges = _mm_loadu_si128((__m128i const*) llparse_blob10);
2069 /* Find first character that does not match `ranges` */
2070 match_len = _mm_cmpestri(ranges, 2,
2072 _SIDD_UBYTE_OPS | _SIDD_CMP_RANGES |
2073 _SIDD_NEGATIVE_POLARITY);
2075 if (match_len != 0) {
2077 goto s_n_llhttp__internal__n_header_field_general;
2079 goto s_n_llhttp__internal__n_header_field_general_otherwise;
2081 #endif /* __SSE4_2__ */
2082 switch (lookup_table[(uint8_t) *p]) {
2085 goto s_n_llhttp__internal__n_header_field_general;
2088 goto s_n_llhttp__internal__n_header_field_general_otherwise;
2094 case s_n_llhttp__internal__n_header_field_colon:
2095 s_n_llhttp__internal__n_header_field_colon: {
2097 return s_n_llhttp__internal__n_header_field_colon;
2102 goto s_n_llhttp__internal__n_header_field_colon;
2105 goto s_n_llhttp__internal__n_span_end_llhttp__on_header_field;
2108 goto s_n_llhttp__internal__n_invoke_update_header_state_9;
2114 case s_n_llhttp__internal__n_header_field_3:
2115 s_n_llhttp__internal__n_header_field_3: {
2116 llparse_match_t match_seq;
2119 return s_n_llhttp__internal__n_header_field_3;
2121 match_seq = llparse__match_sequence_to_lower_unsafe(state, p, endp, llparse_blob3, 6);
2122 p = match_seq.current;
2123 switch (match_seq.status) {
2124 case kMatchComplete: {
2127 goto s_n_llhttp__internal__n_invoke_store_header_state;
2130 return s_n_llhttp__internal__n_header_field_3;
2132 case kMatchMismatch: {
2133 goto s_n_llhttp__internal__n_invoke_update_header_state_10;
2139 case s_n_llhttp__internal__n_header_field_4:
2140 s_n_llhttp__internal__n_header_field_4: {
2141 llparse_match_t match_seq;
2144 return s_n_llhttp__internal__n_header_field_4;
2146 match_seq = llparse__match_sequence_to_lower_unsafe(state, p, endp, llparse_blob11, 10);
2147 p = match_seq.current;
2148 switch (match_seq.status) {
2149 case kMatchComplete: {
2152 goto s_n_llhttp__internal__n_invoke_store_header_state;
2155 return s_n_llhttp__internal__n_header_field_4;
2157 case kMatchMismatch: {
2158 goto s_n_llhttp__internal__n_invoke_update_header_state_10;
2164 case s_n_llhttp__internal__n_header_field_2:
2165 s_n_llhttp__internal__n_header_field_2: {
2167 return s_n_llhttp__internal__n_header_field_2;
2169 switch (((*p) | 0x20)) {
2172 goto s_n_llhttp__internal__n_header_field_3;
2176 goto s_n_llhttp__internal__n_header_field_4;
2179 goto s_n_llhttp__internal__n_invoke_update_header_state_10;
2185 case s_n_llhttp__internal__n_header_field_1:
2186 s_n_llhttp__internal__n_header_field_1: {
2187 llparse_match_t match_seq;
2190 return s_n_llhttp__internal__n_header_field_1;
2192 match_seq = llparse__match_sequence_to_lower_unsafe(state, p, endp, llparse_blob2, 2);
2193 p = match_seq.current;
2194 switch (match_seq.status) {
2195 case kMatchComplete: {
2197 goto s_n_llhttp__internal__n_header_field_2;
2200 return s_n_llhttp__internal__n_header_field_1;
2202 case kMatchMismatch: {
2203 goto s_n_llhttp__internal__n_invoke_update_header_state_10;
2209 case s_n_llhttp__internal__n_header_field_5:
2210 s_n_llhttp__internal__n_header_field_5: {
2211 llparse_match_t match_seq;
2214 return s_n_llhttp__internal__n_header_field_5;
2216 match_seq = llparse__match_sequence_to_lower_unsafe(state, p, endp, llparse_blob12, 15);
2217 p = match_seq.current;
2218 switch (match_seq.status) {
2219 case kMatchComplete: {
2222 goto s_n_llhttp__internal__n_invoke_store_header_state;
2225 return s_n_llhttp__internal__n_header_field_5;
2227 case kMatchMismatch: {
2228 goto s_n_llhttp__internal__n_invoke_update_header_state_10;
2234 case s_n_llhttp__internal__n_header_field_6:
2235 s_n_llhttp__internal__n_header_field_6: {
2236 llparse_match_t match_seq;
2239 return s_n_llhttp__internal__n_header_field_6;
2241 match_seq = llparse__match_sequence_to_lower_unsafe(state, p, endp, llparse_blob13, 16);
2242 p = match_seq.current;
2243 switch (match_seq.status) {
2244 case kMatchComplete: {
2247 goto s_n_llhttp__internal__n_invoke_store_header_state;
2250 return s_n_llhttp__internal__n_header_field_6;
2252 case kMatchMismatch: {
2253 goto s_n_llhttp__internal__n_invoke_update_header_state_10;
2259 case s_n_llhttp__internal__n_header_field_7:
2260 s_n_llhttp__internal__n_header_field_7: {
2261 llparse_match_t match_seq;
2264 return s_n_llhttp__internal__n_header_field_7;
2266 match_seq = llparse__match_sequence_to_lower_unsafe(state, p, endp, llparse_blob14, 6);
2267 p = match_seq.current;
2268 switch (match_seq.status) {
2269 case kMatchComplete: {
2272 goto s_n_llhttp__internal__n_invoke_store_header_state;
2275 return s_n_llhttp__internal__n_header_field_7;
2277 case kMatchMismatch: {
2278 goto s_n_llhttp__internal__n_invoke_update_header_state_10;
2284 case s_n_llhttp__internal__n_header_field:
2285 s_n_llhttp__internal__n_header_field: {
2287 return s_n_llhttp__internal__n_header_field;
2289 switch (((*p) | 0x20)) {
2292 goto s_n_llhttp__internal__n_header_field_1;
2296 goto s_n_llhttp__internal__n_header_field_5;
2300 goto s_n_llhttp__internal__n_header_field_6;
2304 goto s_n_llhttp__internal__n_header_field_7;
2307 goto s_n_llhttp__internal__n_invoke_update_header_state_10;
2313 case s_n_llhttp__internal__n_span_start_llhttp__on_header_field:
2314 s_n_llhttp__internal__n_span_start_llhttp__on_header_field: {
2316 return s_n_llhttp__internal__n_span_start_llhttp__on_header_field;
2318 state->_span_pos0 = (void*) p;
2319 state->_span_cb0 = llhttp__on_header_field;
2320 goto s_n_llhttp__internal__n_header_field;
2324 case s_n_llhttp__internal__n_header_field_start:
2325 s_n_llhttp__internal__n_header_field_start: {
2327 return s_n_llhttp__internal__n_header_field_start;
2331 goto s_n_llhttp__internal__n_headers_almost_done;
2335 goto s_n_llhttp__internal__n_headers_almost_done;
2338 goto s_n_llhttp__internal__n_span_start_llhttp__on_header_field;
2344 case s_n_llhttp__internal__n_url_skip_to_http09:
2345 s_n_llhttp__internal__n_url_skip_to_http09: {
2347 return s_n_llhttp__internal__n_url_skip_to_http09;
2350 goto s_n_llhttp__internal__n_invoke_update_http_major;
2354 case s_n_llhttp__internal__n_url_skip_lf_to_http09:
2355 s_n_llhttp__internal__n_url_skip_lf_to_http09: {
2356 llparse_match_t match_seq;
2359 return s_n_llhttp__internal__n_url_skip_lf_to_http09;
2361 match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob15, 2);
2362 p = match_seq.current;
2363 switch (match_seq.status) {
2364 case kMatchComplete: {
2366 goto s_n_llhttp__internal__n_invoke_update_http_major;
2369 return s_n_llhttp__internal__n_url_skip_lf_to_http09;
2371 case kMatchMismatch: {
2372 goto s_n_llhttp__internal__n_error_21;
2378 case s_n_llhttp__internal__n_req_http_end_1:
2379 s_n_llhttp__internal__n_req_http_end_1: {
2381 return s_n_llhttp__internal__n_req_http_end_1;
2386 goto s_n_llhttp__internal__n_header_field_start;
2389 goto s_n_llhttp__internal__n_error_22;
2395 case s_n_llhttp__internal__n_req_http_end:
2396 s_n_llhttp__internal__n_req_http_end: {
2398 return s_n_llhttp__internal__n_req_http_end;
2403 goto s_n_llhttp__internal__n_header_field_start;
2407 goto s_n_llhttp__internal__n_req_http_end_1;
2410 goto s_n_llhttp__internal__n_error_22;
2416 case s_n_llhttp__internal__n_req_http_minor:
2417 s_n_llhttp__internal__n_req_http_minor: {
2419 return s_n_llhttp__internal__n_req_http_minor;
2425 goto s_n_llhttp__internal__n_invoke_store_http_minor;
2430 goto s_n_llhttp__internal__n_invoke_store_http_minor;
2435 goto s_n_llhttp__internal__n_invoke_store_http_minor;
2440 goto s_n_llhttp__internal__n_invoke_store_http_minor;
2445 goto s_n_llhttp__internal__n_invoke_store_http_minor;
2450 goto s_n_llhttp__internal__n_invoke_store_http_minor;
2455 goto s_n_llhttp__internal__n_invoke_store_http_minor;
2460 goto s_n_llhttp__internal__n_invoke_store_http_minor;
2465 goto s_n_llhttp__internal__n_invoke_store_http_minor;
2470 goto s_n_llhttp__internal__n_invoke_store_http_minor;
2473 goto s_n_llhttp__internal__n_error_23;
2479 case s_n_llhttp__internal__n_req_http_dot:
2480 s_n_llhttp__internal__n_req_http_dot: {
2482 return s_n_llhttp__internal__n_req_http_dot;
2487 goto s_n_llhttp__internal__n_req_http_minor;
2490 goto s_n_llhttp__internal__n_error_24;
2496 case s_n_llhttp__internal__n_req_http_major:
2497 s_n_llhttp__internal__n_req_http_major: {
2499 return s_n_llhttp__internal__n_req_http_major;
2505 goto s_n_llhttp__internal__n_invoke_store_http_major;
2510 goto s_n_llhttp__internal__n_invoke_store_http_major;
2515 goto s_n_llhttp__internal__n_invoke_store_http_major;
2520 goto s_n_llhttp__internal__n_invoke_store_http_major;
2525 goto s_n_llhttp__internal__n_invoke_store_http_major;
2530 goto s_n_llhttp__internal__n_invoke_store_http_major;
2535 goto s_n_llhttp__internal__n_invoke_store_http_major;
2540 goto s_n_llhttp__internal__n_invoke_store_http_major;
2545 goto s_n_llhttp__internal__n_invoke_store_http_major;
2550 goto s_n_llhttp__internal__n_invoke_store_http_major;
2553 goto s_n_llhttp__internal__n_error_25;
2559 case s_n_llhttp__internal__n_req_http_start_1:
2560 s_n_llhttp__internal__n_req_http_start_1: {
2561 llparse_match_t match_seq;
2564 return s_n_llhttp__internal__n_req_http_start_1;
2566 match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob16, 4);
2567 p = match_seq.current;
2568 switch (match_seq.status) {
2569 case kMatchComplete: {
2571 goto s_n_llhttp__internal__n_req_http_major;
2574 return s_n_llhttp__internal__n_req_http_start_1;
2576 case kMatchMismatch: {
2577 goto s_n_llhttp__internal__n_error_27;
2583 case s_n_llhttp__internal__n_req_http_start_2:
2584 s_n_llhttp__internal__n_req_http_start_2: {
2585 llparse_match_t match_seq;
2588 return s_n_llhttp__internal__n_req_http_start_2;
2590 match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob17, 3);
2591 p = match_seq.current;
2592 switch (match_seq.status) {
2593 case kMatchComplete: {
2595 goto s_n_llhttp__internal__n_invoke_is_equal_method_1;
2598 return s_n_llhttp__internal__n_req_http_start_2;
2600 case kMatchMismatch: {
2601 goto s_n_llhttp__internal__n_error_27;
2607 case s_n_llhttp__internal__n_req_http_start:
2608 s_n_llhttp__internal__n_req_http_start: {
2610 return s_n_llhttp__internal__n_req_http_start;
2615 goto s_n_llhttp__internal__n_req_http_start;
2619 goto s_n_llhttp__internal__n_req_http_start_1;
2623 goto s_n_llhttp__internal__n_req_http_start_2;
2626 goto s_n_llhttp__internal__n_error_27;
2632 case s_n_llhttp__internal__n_url_skip_to_http:
2633 s_n_llhttp__internal__n_url_skip_to_http: {
2635 return s_n_llhttp__internal__n_url_skip_to_http;
2638 goto s_n_llhttp__internal__n_req_http_start;
2642 case s_n_llhttp__internal__n_url_fragment:
2643 s_n_llhttp__internal__n_url_fragment: {
2644 static uint8_t lookup_table[] = {
2645 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 3, 0, 0,
2646 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2647 4, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2648 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2649 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2650 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2651 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2652 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
2653 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2654 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2655 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2656 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2657 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2658 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2659 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2660 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
2663 return s_n_llhttp__internal__n_url_fragment;
2665 switch (lookup_table[(uint8_t) *p]) {
2668 goto s_n_llhttp__internal__n_url_fragment;
2671 goto s_n_llhttp__internal__n_span_end_llhttp__on_url_6;
2674 goto s_n_llhttp__internal__n_span_end_llhttp__on_url_7;
2677 goto s_n_llhttp__internal__n_span_end_llhttp__on_url_8;
2680 goto s_n_llhttp__internal__n_error_28;
2686 case s_n_llhttp__internal__n_span_end_stub_query_3:
2687 s_n_llhttp__internal__n_span_end_stub_query_3: {
2689 return s_n_llhttp__internal__n_span_end_stub_query_3;
2692 goto s_n_llhttp__internal__n_url_fragment;
2696 case s_n_llhttp__internal__n_url_query:
2697 s_n_llhttp__internal__n_url_query: {
2698 static uint8_t lookup_table[] = {
2699 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 1, 3, 0, 0,
2700 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2701 4, 1, 1, 5, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2702 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2703 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2704 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2705 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2706 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
2707 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2708 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2709 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2710 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2711 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2712 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2713 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2714 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
2717 return s_n_llhttp__internal__n_url_query;
2719 switch (lookup_table[(uint8_t) *p]) {
2722 goto s_n_llhttp__internal__n_url_query;
2725 goto s_n_llhttp__internal__n_span_end_llhttp__on_url_9;
2728 goto s_n_llhttp__internal__n_span_end_llhttp__on_url_10;
2731 goto s_n_llhttp__internal__n_span_end_llhttp__on_url_11;
2734 goto s_n_llhttp__internal__n_span_end_stub_query_3;
2737 goto s_n_llhttp__internal__n_error_29;
2743 case s_n_llhttp__internal__n_url_query_or_fragment:
2744 s_n_llhttp__internal__n_url_query_or_fragment: {
2746 return s_n_llhttp__internal__n_url_query_or_fragment;
2750 goto s_n_llhttp__internal__n_span_end_llhttp__on_url_3;
2753 goto s_n_llhttp__internal__n_span_end_llhttp__on_url_4;
2756 goto s_n_llhttp__internal__n_span_end_llhttp__on_url_5;
2760 goto s_n_llhttp__internal__n_url_fragment;
2764 goto s_n_llhttp__internal__n_url_query;
2767 goto s_n_llhttp__internal__n_error_30;
2773 case s_n_llhttp__internal__n_url_path:
2774 s_n_llhttp__internal__n_url_path: {
2775 static uint8_t lookup_table[] = {
2776 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0,
2777 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2778 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2779 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
2780 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2781 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2782 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2783 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
2784 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2785 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2786 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2787 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2788 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2789 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2790 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
2791 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1
2794 return s_n_llhttp__internal__n_url_path;
2797 if (endp - p >= 16) {
2804 input = _mm_loadu_si128((__m128i const*) p);
2805 ranges = _mm_loadu_si128((__m128i const*) llparse_blob1);
2807 /* Find first character that does not match `ranges` */
2808 match_len = _mm_cmpestri(ranges, 12,
2810 _SIDD_UBYTE_OPS | _SIDD_CMP_RANGES |
2811 _SIDD_NEGATIVE_POLARITY);
2813 if (match_len != 0) {
2815 goto s_n_llhttp__internal__n_url_path;
2817 goto s_n_llhttp__internal__n_url_query_or_fragment;
2819 #endif /* __SSE4_2__ */
2820 switch (lookup_table[(uint8_t) *p]) {
2823 goto s_n_llhttp__internal__n_url_path;
2826 goto s_n_llhttp__internal__n_url_query_or_fragment;
2832 case s_n_llhttp__internal__n_span_start_stub_path_2:
2833 s_n_llhttp__internal__n_span_start_stub_path_2: {
2835 return s_n_llhttp__internal__n_span_start_stub_path_2;
2838 goto s_n_llhttp__internal__n_url_path;
2842 case s_n_llhttp__internal__n_span_start_stub_path:
2843 s_n_llhttp__internal__n_span_start_stub_path: {
2845 return s_n_llhttp__internal__n_span_start_stub_path;
2848 goto s_n_llhttp__internal__n_url_path;
2852 case s_n_llhttp__internal__n_span_start_stub_path_1:
2853 s_n_llhttp__internal__n_span_start_stub_path_1: {
2855 return s_n_llhttp__internal__n_span_start_stub_path_1;
2858 goto s_n_llhttp__internal__n_url_path;
2862 case s_n_llhttp__internal__n_url_server_with_at:
2863 s_n_llhttp__internal__n_url_server_with_at: {
2864 static uint8_t lookup_table[] = {
2865 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0,
2866 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2867 3, 4, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5,
2868 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 4, 0, 6,
2869 7, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
2870 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 4, 0, 4,
2871 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
2872 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 4, 0,
2873 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2874 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2875 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2876 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2877 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2878 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2879 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2880 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
2883 return s_n_llhttp__internal__n_url_server_with_at;
2885 switch (lookup_table[(uint8_t) *p]) {
2887 goto s_n_llhttp__internal__n_span_end_llhttp__on_url_12;
2890 goto s_n_llhttp__internal__n_span_end_llhttp__on_url_13;
2893 goto s_n_llhttp__internal__n_span_end_llhttp__on_url_14;
2897 goto s_n_llhttp__internal__n_url_server;
2900 goto s_n_llhttp__internal__n_span_start_stub_path_1;
2904 goto s_n_llhttp__internal__n_url_query;
2908 goto s_n_llhttp__internal__n_error_31;
2911 goto s_n_llhttp__internal__n_error_32;
2917 case s_n_llhttp__internal__n_url_server:
2918 s_n_llhttp__internal__n_url_server: {
2919 static uint8_t lookup_table[] = {
2920 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0,
2921 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2922 3, 4, 0, 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5,
2923 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 4, 0, 6,
2924 7, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
2925 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 4, 0, 4,
2926 0, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
2927 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 0, 0, 0, 4, 0,
2928 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2929 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2930 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2931 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2932 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2933 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2934 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2935 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
2938 return s_n_llhttp__internal__n_url_server;
2940 switch (lookup_table[(uint8_t) *p]) {
2942 goto s_n_llhttp__internal__n_span_end_llhttp__on_url;
2945 goto s_n_llhttp__internal__n_span_end_llhttp__on_url_1;
2948 goto s_n_llhttp__internal__n_span_end_llhttp__on_url_2;
2952 goto s_n_llhttp__internal__n_url_server;
2955 goto s_n_llhttp__internal__n_span_start_stub_path;
2959 goto s_n_llhttp__internal__n_url_query;
2963 goto s_n_llhttp__internal__n_url_server_with_at;
2966 goto s_n_llhttp__internal__n_error_33;
2972 case s_n_llhttp__internal__n_url_schema_delim_1:
2973 s_n_llhttp__internal__n_url_schema_delim_1: {
2975 return s_n_llhttp__internal__n_url_schema_delim_1;
2980 goto s_n_llhttp__internal__n_url_server;
2983 goto s_n_llhttp__internal__n_error_35;
2989 case s_n_llhttp__internal__n_url_schema_delim:
2990 s_n_llhttp__internal__n_url_schema_delim: {
2992 return s_n_llhttp__internal__n_url_schema_delim;
2997 goto s_n_llhttp__internal__n_error_34;
3001 goto s_n_llhttp__internal__n_error_34;
3005 goto s_n_llhttp__internal__n_error_34;
3009 goto s_n_llhttp__internal__n_url_schema_delim_1;
3012 goto s_n_llhttp__internal__n_error_35;
3018 case s_n_llhttp__internal__n_span_end_stub_schema:
3019 s_n_llhttp__internal__n_span_end_stub_schema: {
3021 return s_n_llhttp__internal__n_span_end_stub_schema;
3024 goto s_n_llhttp__internal__n_url_schema_delim;
3028 case s_n_llhttp__internal__n_url_schema:
3029 s_n_llhttp__internal__n_url_schema: {
3030 static uint8_t lookup_table[] = {
3031 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
3032 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3033 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3034 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0,
3035 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3036 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
3037 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3038 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
3039 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3040 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3041 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3042 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3043 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3044 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3045 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3046 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
3049 return s_n_llhttp__internal__n_url_schema;
3051 switch (lookup_table[(uint8_t) *p]) {
3054 goto s_n_llhttp__internal__n_error_34;
3057 goto s_n_llhttp__internal__n_span_end_stub_schema;
3061 goto s_n_llhttp__internal__n_url_schema;
3064 goto s_n_llhttp__internal__n_error_36;
3070 case s_n_llhttp__internal__n_url_start:
3071 s_n_llhttp__internal__n_url_start: {
3072 static uint8_t lookup_table[] = {
3073 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0,
3074 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3075 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2,
3076 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3077 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3078 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
3079 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
3080 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 0, 0, 0, 0, 0,
3081 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3082 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3083 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3084 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3085 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3086 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3087 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
3088 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0
3091 return s_n_llhttp__internal__n_url_start;
3093 switch (lookup_table[(uint8_t) *p]) {
3096 goto s_n_llhttp__internal__n_error_34;
3099 goto s_n_llhttp__internal__n_span_start_stub_path_2;
3102 goto s_n_llhttp__internal__n_url_schema;
3105 goto s_n_llhttp__internal__n_error_37;
3111 case s_n_llhttp__internal__n_span_start_llhttp__on_url_1:
3112 s_n_llhttp__internal__n_span_start_llhttp__on_url_1: {
3114 return s_n_llhttp__internal__n_span_start_llhttp__on_url_1;
3116 state->_span_pos0 = (void*) p;
3117 state->_span_cb0 = llhttp__on_url;
3118 goto s_n_llhttp__internal__n_url_start;
3122 case s_n_llhttp__internal__n_span_start_llhttp__on_url:
3123 s_n_llhttp__internal__n_span_start_llhttp__on_url: {
3125 return s_n_llhttp__internal__n_span_start_llhttp__on_url;
3127 state->_span_pos0 = (void*) p;
3128 state->_span_cb0 = llhttp__on_url;
3129 goto s_n_llhttp__internal__n_url_server;
3133 case s_n_llhttp__internal__n_req_spaces_before_url:
3134 s_n_llhttp__internal__n_req_spaces_before_url: {
3136 return s_n_llhttp__internal__n_req_spaces_before_url;
3141 goto s_n_llhttp__internal__n_req_spaces_before_url;
3144 goto s_n_llhttp__internal__n_invoke_is_equal_method;
3150 case s_n_llhttp__internal__n_req_first_space_before_url:
3151 s_n_llhttp__internal__n_req_first_space_before_url: {
3153 return s_n_llhttp__internal__n_req_first_space_before_url;
3158 goto s_n_llhttp__internal__n_req_spaces_before_url;
3161 goto s_n_llhttp__internal__n_error_38;
3167 case s_n_llhttp__internal__n_start_req_1:
3168 s_n_llhttp__internal__n_start_req_1: {
3169 llparse_match_t match_seq;
3172 return s_n_llhttp__internal__n_start_req_1;
3174 match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob0, 2);
3175 p = match_seq.current;
3176 switch (match_seq.status) {
3177 case kMatchComplete: {
3180 goto s_n_llhttp__internal__n_invoke_store_method_1;
3183 return s_n_llhttp__internal__n_start_req_1;
3185 case kMatchMismatch: {
3186 goto s_n_llhttp__internal__n_error_46;
3192 case s_n_llhttp__internal__n_start_req_2:
3193 s_n_llhttp__internal__n_start_req_2: {
3194 llparse_match_t match_seq;
3197 return s_n_llhttp__internal__n_start_req_2;
3199 match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob18, 3);
3200 p = match_seq.current;
3201 switch (match_seq.status) {
3202 case kMatchComplete: {
3205 goto s_n_llhttp__internal__n_invoke_store_method_1;
3208 return s_n_llhttp__internal__n_start_req_2;
3210 case kMatchMismatch: {
3211 goto s_n_llhttp__internal__n_error_46;
3217 case s_n_llhttp__internal__n_start_req_4:
3218 s_n_llhttp__internal__n_start_req_4: {
3219 llparse_match_t match_seq;
3222 return s_n_llhttp__internal__n_start_req_4;
3224 match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob19, 6);
3225 p = match_seq.current;
3226 switch (match_seq.status) {
3227 case kMatchComplete: {
3230 goto s_n_llhttp__internal__n_invoke_store_method_1;
3233 return s_n_llhttp__internal__n_start_req_4;
3235 case kMatchMismatch: {
3236 goto s_n_llhttp__internal__n_error_46;
3242 case s_n_llhttp__internal__n_start_req_6:
3243 s_n_llhttp__internal__n_start_req_6: {
3244 llparse_match_t match_seq;
3247 return s_n_llhttp__internal__n_start_req_6;
3249 match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob20, 4);
3250 p = match_seq.current;
3251 switch (match_seq.status) {
3252 case kMatchComplete: {
3255 goto s_n_llhttp__internal__n_invoke_store_method_1;
3258 return s_n_llhttp__internal__n_start_req_6;
3260 case kMatchMismatch: {
3261 goto s_n_llhttp__internal__n_error_46;
3267 case s_n_llhttp__internal__n_start_req_7:
3268 s_n_llhttp__internal__n_start_req_7: {
3270 return s_n_llhttp__internal__n_start_req_7;
3276 goto s_n_llhttp__internal__n_invoke_store_method_1;
3279 goto s_n_llhttp__internal__n_error_46;
3285 case s_n_llhttp__internal__n_start_req_5:
3286 s_n_llhttp__internal__n_start_req_5: {
3288 return s_n_llhttp__internal__n_start_req_5;
3293 goto s_n_llhttp__internal__n_start_req_6;
3297 goto s_n_llhttp__internal__n_start_req_7;
3300 goto s_n_llhttp__internal__n_error_46;
3306 case s_n_llhttp__internal__n_start_req_3:
3307 s_n_llhttp__internal__n_start_req_3: {
3309 return s_n_llhttp__internal__n_start_req_3;
3314 goto s_n_llhttp__internal__n_start_req_4;
3318 goto s_n_llhttp__internal__n_start_req_5;
3321 goto s_n_llhttp__internal__n_error_46;
3327 case s_n_llhttp__internal__n_start_req_8:
3328 s_n_llhttp__internal__n_start_req_8: {
3329 llparse_match_t match_seq;
3332 return s_n_llhttp__internal__n_start_req_8;
3334 match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob21, 5);
3335 p = match_seq.current;
3336 switch (match_seq.status) {
3337 case kMatchComplete: {
3340 goto s_n_llhttp__internal__n_invoke_store_method_1;
3343 return s_n_llhttp__internal__n_start_req_8;
3345 case kMatchMismatch: {
3346 goto s_n_llhttp__internal__n_error_46;
3352 case s_n_llhttp__internal__n_start_req_9:
3353 s_n_llhttp__internal__n_start_req_9: {
3354 llparse_match_t match_seq;
3357 return s_n_llhttp__internal__n_start_req_9;
3359 match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob22, 2);
3360 p = match_seq.current;
3361 switch (match_seq.status) {
3362 case kMatchComplete: {
3365 goto s_n_llhttp__internal__n_invoke_store_method_1;
3368 return s_n_llhttp__internal__n_start_req_9;
3370 case kMatchMismatch: {
3371 goto s_n_llhttp__internal__n_error_46;
3377 case s_n_llhttp__internal__n_start_req_10:
3378 s_n_llhttp__internal__n_start_req_10: {
3379 llparse_match_t match_seq;
3382 return s_n_llhttp__internal__n_start_req_10;
3384 match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob23, 3);
3385 p = match_seq.current;
3386 switch (match_seq.status) {
3387 case kMatchComplete: {
3390 goto s_n_llhttp__internal__n_invoke_store_method_1;
3393 return s_n_llhttp__internal__n_start_req_10;
3395 case kMatchMismatch: {
3396 goto s_n_llhttp__internal__n_error_46;
3402 case s_n_llhttp__internal__n_start_req_12:
3403 s_n_llhttp__internal__n_start_req_12: {
3404 llparse_match_t match_seq;
3407 return s_n_llhttp__internal__n_start_req_12;
3409 match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob24, 2);
3410 p = match_seq.current;
3411 switch (match_seq.status) {
3412 case kMatchComplete: {
3415 goto s_n_llhttp__internal__n_invoke_store_method_1;
3418 return s_n_llhttp__internal__n_start_req_12;
3420 case kMatchMismatch: {
3421 goto s_n_llhttp__internal__n_error_46;
3427 case s_n_llhttp__internal__n_start_req_13:
3428 s_n_llhttp__internal__n_start_req_13: {
3429 llparse_match_t match_seq;
3432 return s_n_llhttp__internal__n_start_req_13;
3434 match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob25, 2);
3435 p = match_seq.current;
3436 switch (match_seq.status) {
3437 case kMatchComplete: {
3440 goto s_n_llhttp__internal__n_invoke_store_method_1;
3443 return s_n_llhttp__internal__n_start_req_13;
3445 case kMatchMismatch: {
3446 goto s_n_llhttp__internal__n_error_46;
3452 case s_n_llhttp__internal__n_start_req_11:
3453 s_n_llhttp__internal__n_start_req_11: {
3455 return s_n_llhttp__internal__n_start_req_11;
3460 goto s_n_llhttp__internal__n_start_req_12;
3464 goto s_n_llhttp__internal__n_start_req_13;
3467 goto s_n_llhttp__internal__n_error_46;
3473 case s_n_llhttp__internal__n_start_req_15:
3474 s_n_llhttp__internal__n_start_req_15: {
3475 llparse_match_t match_seq;
3478 return s_n_llhttp__internal__n_start_req_15;
3480 match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob26, 6);
3481 p = match_seq.current;
3482 switch (match_seq.status) {
3483 case kMatchComplete: {
3486 goto s_n_llhttp__internal__n_invoke_store_method_1;
3489 return s_n_llhttp__internal__n_start_req_15;
3491 case kMatchMismatch: {
3492 goto s_n_llhttp__internal__n_error_46;
3498 case s_n_llhttp__internal__n_start_req_16:
3499 s_n_llhttp__internal__n_start_req_16: {
3500 llparse_match_t match_seq;
3503 return s_n_llhttp__internal__n_start_req_16;
3505 match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob27, 3);
3506 p = match_seq.current;
3507 switch (match_seq.status) {
3508 case kMatchComplete: {
3511 goto s_n_llhttp__internal__n_invoke_store_method_1;
3514 return s_n_llhttp__internal__n_start_req_16;
3516 case kMatchMismatch: {
3517 goto s_n_llhttp__internal__n_error_46;
3523 case s_n_llhttp__internal__n_start_req_18:
3524 s_n_llhttp__internal__n_start_req_18: {
3525 llparse_match_t match_seq;
3528 return s_n_llhttp__internal__n_start_req_18;
3530 match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob28, 7);
3531 p = match_seq.current;
3532 switch (match_seq.status) {
3533 case kMatchComplete: {
3536 goto s_n_llhttp__internal__n_invoke_store_method_1;
3539 return s_n_llhttp__internal__n_start_req_18;
3541 case kMatchMismatch: {
3542 goto s_n_llhttp__internal__n_error_46;
3548 case s_n_llhttp__internal__n_start_req_20:
3549 s_n_llhttp__internal__n_start_req_20: {
3550 llparse_match_t match_seq;
3553 return s_n_llhttp__internal__n_start_req_20;
3555 match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob29, 6);
3556 p = match_seq.current;
3557 switch (match_seq.status) {
3558 case kMatchComplete: {
3561 goto s_n_llhttp__internal__n_invoke_store_method_1;
3564 return s_n_llhttp__internal__n_start_req_20;
3566 case kMatchMismatch: {
3567 goto s_n_llhttp__internal__n_error_46;
3573 case s_n_llhttp__internal__n_start_req_21:
3574 s_n_llhttp__internal__n_start_req_21: {
3576 return s_n_llhttp__internal__n_start_req_21;
3582 goto s_n_llhttp__internal__n_invoke_store_method_1;
3585 goto s_n_llhttp__internal__n_error_46;
3591 case s_n_llhttp__internal__n_start_req_19:
3592 s_n_llhttp__internal__n_start_req_19: {
3594 return s_n_llhttp__internal__n_start_req_19;
3599 goto s_n_llhttp__internal__n_start_req_20;
3603 goto s_n_llhttp__internal__n_start_req_21;
3606 goto s_n_llhttp__internal__n_error_46;
3612 case s_n_llhttp__internal__n_start_req_17:
3613 s_n_llhttp__internal__n_start_req_17: {
3615 return s_n_llhttp__internal__n_start_req_17;
3620 goto s_n_llhttp__internal__n_start_req_18;
3624 goto s_n_llhttp__internal__n_start_req_19;
3627 goto s_n_llhttp__internal__n_error_46;
3633 case s_n_llhttp__internal__n_start_req_22:
3634 s_n_llhttp__internal__n_start_req_22: {
3635 llparse_match_t match_seq;
3638 return s_n_llhttp__internal__n_start_req_22;
3640 match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob30, 2);
3641 p = match_seq.current;
3642 switch (match_seq.status) {
3643 case kMatchComplete: {
3646 goto s_n_llhttp__internal__n_invoke_store_method_1;
3649 return s_n_llhttp__internal__n_start_req_22;
3651 case kMatchMismatch: {
3652 goto s_n_llhttp__internal__n_error_46;
3658 case s_n_llhttp__internal__n_start_req_14:
3659 s_n_llhttp__internal__n_start_req_14: {
3661 return s_n_llhttp__internal__n_start_req_14;
3666 goto s_n_llhttp__internal__n_start_req_15;
3670 goto s_n_llhttp__internal__n_start_req_16;
3674 goto s_n_llhttp__internal__n_start_req_17;
3678 goto s_n_llhttp__internal__n_start_req_22;
3681 goto s_n_llhttp__internal__n_error_46;
3687 case s_n_llhttp__internal__n_start_req_23:
3688 s_n_llhttp__internal__n_start_req_23: {
3689 llparse_match_t match_seq;
3692 return s_n_llhttp__internal__n_start_req_23;
3694 match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob31, 5);
3695 p = match_seq.current;
3696 switch (match_seq.status) {
3697 case kMatchComplete: {
3700 goto s_n_llhttp__internal__n_invoke_store_method_1;
3703 return s_n_llhttp__internal__n_start_req_23;
3705 case kMatchMismatch: {
3706 goto s_n_llhttp__internal__n_error_46;
3712 case s_n_llhttp__internal__n_start_req_24:
3713 s_n_llhttp__internal__n_start_req_24: {
3714 llparse_match_t match_seq;
3717 return s_n_llhttp__internal__n_start_req_24;
3719 match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob32, 6);
3720 p = match_seq.current;
3721 switch (match_seq.status) {
3722 case kMatchComplete: {
3725 goto s_n_llhttp__internal__n_invoke_store_method_1;
3728 return s_n_llhttp__internal__n_start_req_24;
3730 case kMatchMismatch: {
3731 goto s_n_llhttp__internal__n_error_46;
3737 case s_n_llhttp__internal__n_start_req_26:
3738 s_n_llhttp__internal__n_start_req_26: {
3739 llparse_match_t match_seq;
3742 return s_n_llhttp__internal__n_start_req_26;
3744 match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob33, 3);
3745 p = match_seq.current;
3746 switch (match_seq.status) {
3747 case kMatchComplete: {
3750 goto s_n_llhttp__internal__n_invoke_store_method_1;
3753 return s_n_llhttp__internal__n_start_req_26;
3755 case kMatchMismatch: {
3756 goto s_n_llhttp__internal__n_error_46;
3762 case s_n_llhttp__internal__n_start_req_27:
3763 s_n_llhttp__internal__n_start_req_27: {
3764 llparse_match_t match_seq;
3767 return s_n_llhttp__internal__n_start_req_27;
3769 match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob34, 2);
3770 p = match_seq.current;
3771 switch (match_seq.status) {
3772 case kMatchComplete: {
3775 goto s_n_llhttp__internal__n_invoke_store_method_1;
3778 return s_n_llhttp__internal__n_start_req_27;
3780 case kMatchMismatch: {
3781 goto s_n_llhttp__internal__n_error_46;
3787 case s_n_llhttp__internal__n_start_req_30:
3788 s_n_llhttp__internal__n_start_req_30: {
3789 llparse_match_t match_seq;
3792 return s_n_llhttp__internal__n_start_req_30;
3794 match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob36, 3);
3795 p = match_seq.current;
3796 switch (match_seq.status) {
3797 case kMatchComplete: {
3800 goto s_n_llhttp__internal__n_invoke_store_method_1;
3803 return s_n_llhttp__internal__n_start_req_30;
3805 case kMatchMismatch: {
3806 goto s_n_llhttp__internal__n_error_46;
3812 case s_n_llhttp__internal__n_start_req_31:
3813 s_n_llhttp__internal__n_start_req_31: {
3814 llparse_match_t match_seq;
3817 return s_n_llhttp__internal__n_start_req_31;
3819 match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob37, 4);
3820 p = match_seq.current;
3821 switch (match_seq.status) {
3822 case kMatchComplete: {
3825 goto s_n_llhttp__internal__n_invoke_store_method_1;
3828 return s_n_llhttp__internal__n_start_req_31;
3830 case kMatchMismatch: {
3831 goto s_n_llhttp__internal__n_error_46;
3837 case s_n_llhttp__internal__n_start_req_29:
3838 s_n_llhttp__internal__n_start_req_29: {
3840 return s_n_llhttp__internal__n_start_req_29;
3845 goto s_n_llhttp__internal__n_start_req_30;
3849 goto s_n_llhttp__internal__n_start_req_31;
3852 goto s_n_llhttp__internal__n_error_46;
3858 case s_n_llhttp__internal__n_start_req_28:
3859 s_n_llhttp__internal__n_start_req_28: {
3860 llparse_match_t match_seq;
3863 return s_n_llhttp__internal__n_start_req_28;
3865 match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob35, 2);
3866 p = match_seq.current;
3867 switch (match_seq.status) {
3868 case kMatchComplete: {
3870 goto s_n_llhttp__internal__n_start_req_29;
3873 return s_n_llhttp__internal__n_start_req_28;
3875 case kMatchMismatch: {
3876 goto s_n_llhttp__internal__n_error_46;
3882 case s_n_llhttp__internal__n_start_req_33:
3883 s_n_llhttp__internal__n_start_req_33: {
3884 llparse_match_t match_seq;
3887 return s_n_llhttp__internal__n_start_req_33;
3889 match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob38, 2);
3890 p = match_seq.current;
3891 switch (match_seq.status) {
3892 case kMatchComplete: {
3895 goto s_n_llhttp__internal__n_invoke_store_method_1;
3898 return s_n_llhttp__internal__n_start_req_33;
3900 case kMatchMismatch: {
3901 goto s_n_llhttp__internal__n_error_46;
3907 case s_n_llhttp__internal__n_start_req_32:
3908 s_n_llhttp__internal__n_start_req_32: {
3910 return s_n_llhttp__internal__n_start_req_32;
3915 goto s_n_llhttp__internal__n_start_req_33;
3920 goto s_n_llhttp__internal__n_invoke_store_method_1;
3923 goto s_n_llhttp__internal__n_error_46;
3929 case s_n_llhttp__internal__n_start_req_25:
3930 s_n_llhttp__internal__n_start_req_25: {
3932 return s_n_llhttp__internal__n_start_req_25;
3937 goto s_n_llhttp__internal__n_start_req_26;
3941 goto s_n_llhttp__internal__n_start_req_27;
3945 goto s_n_llhttp__internal__n_start_req_28;
3949 goto s_n_llhttp__internal__n_start_req_32;
3952 goto s_n_llhttp__internal__n_error_46;
3958 case s_n_llhttp__internal__n_start_req_36:
3959 s_n_llhttp__internal__n_start_req_36: {
3960 llparse_match_t match_seq;
3963 return s_n_llhttp__internal__n_start_req_36;
3965 match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob39, 3);
3966 p = match_seq.current;
3967 switch (match_seq.status) {
3968 case kMatchComplete: {
3971 goto s_n_llhttp__internal__n_invoke_store_method_1;
3974 return s_n_llhttp__internal__n_start_req_36;
3976 case kMatchMismatch: {
3977 goto s_n_llhttp__internal__n_error_46;
3983 case s_n_llhttp__internal__n_start_req_37:
3984 s_n_llhttp__internal__n_start_req_37: {
3985 llparse_match_t match_seq;
3988 return s_n_llhttp__internal__n_start_req_37;
3990 match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob40, 3);
3991 p = match_seq.current;
3992 switch (match_seq.status) {
3993 case kMatchComplete: {
3996 goto s_n_llhttp__internal__n_invoke_store_method_1;
3999 return s_n_llhttp__internal__n_start_req_37;
4001 case kMatchMismatch: {
4002 goto s_n_llhttp__internal__n_error_46;
4008 case s_n_llhttp__internal__n_start_req_35:
4009 s_n_llhttp__internal__n_start_req_35: {
4011 return s_n_llhttp__internal__n_start_req_35;
4016 goto s_n_llhttp__internal__n_start_req_36;
4020 goto s_n_llhttp__internal__n_start_req_37;
4023 goto s_n_llhttp__internal__n_error_46;
4029 case s_n_llhttp__internal__n_start_req_34:
4030 s_n_llhttp__internal__n_start_req_34: {
4032 return s_n_llhttp__internal__n_start_req_34;
4037 goto s_n_llhttp__internal__n_start_req_35;
4040 goto s_n_llhttp__internal__n_error_46;
4046 case s_n_llhttp__internal__n_start_req_39:
4047 s_n_llhttp__internal__n_start_req_39: {
4048 llparse_match_t match_seq;
4051 return s_n_llhttp__internal__n_start_req_39;
4053 match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob41, 4);
4054 p = match_seq.current;
4055 switch (match_seq.status) {
4056 case kMatchComplete: {
4059 goto s_n_llhttp__internal__n_invoke_store_method_1;
4062 return s_n_llhttp__internal__n_start_req_39;
4064 case kMatchMismatch: {
4065 goto s_n_llhttp__internal__n_error_46;
4071 case s_n_llhttp__internal__n_start_req_40:
4072 s_n_llhttp__internal__n_start_req_40: {
4073 llparse_match_t match_seq;
4076 return s_n_llhttp__internal__n_start_req_40;
4078 match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob42, 4);
4079 p = match_seq.current;
4080 switch (match_seq.status) {
4081 case kMatchComplete: {
4084 goto s_n_llhttp__internal__n_invoke_store_method_1;
4087 return s_n_llhttp__internal__n_start_req_40;
4089 case kMatchMismatch: {
4090 goto s_n_llhttp__internal__n_error_46;
4096 case s_n_llhttp__internal__n_start_req_41:
4097 s_n_llhttp__internal__n_start_req_41: {
4098 llparse_match_t match_seq;
4101 return s_n_llhttp__internal__n_start_req_41;
4103 match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob43, 7);
4104 p = match_seq.current;
4105 switch (match_seq.status) {
4106 case kMatchComplete: {
4109 goto s_n_llhttp__internal__n_invoke_store_method_1;
4112 return s_n_llhttp__internal__n_start_req_41;
4114 case kMatchMismatch: {
4115 goto s_n_llhttp__internal__n_error_46;
4121 case s_n_llhttp__internal__n_start_req_38:
4122 s_n_llhttp__internal__n_start_req_38: {
4124 return s_n_llhttp__internal__n_start_req_38;
4129 goto s_n_llhttp__internal__n_start_req_39;
4133 goto s_n_llhttp__internal__n_start_req_40;
4137 goto s_n_llhttp__internal__n_start_req_41;
4140 goto s_n_llhttp__internal__n_error_46;
4146 case s_n_llhttp__internal__n_start_req_42:
4147 s_n_llhttp__internal__n_start_req_42: {
4148 llparse_match_t match_seq;
4151 return s_n_llhttp__internal__n_start_req_42;
4153 match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob44, 4);
4154 p = match_seq.current;
4155 switch (match_seq.status) {
4156 case kMatchComplete: {
4159 goto s_n_llhttp__internal__n_invoke_store_method_1;
4162 return s_n_llhttp__internal__n_start_req_42;
4164 case kMatchMismatch: {
4165 goto s_n_llhttp__internal__n_error_46;
4171 case s_n_llhttp__internal__n_start_req_45:
4172 s_n_llhttp__internal__n_start_req_45: {
4173 llparse_match_t match_seq;
4176 return s_n_llhttp__internal__n_start_req_45;
4178 match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob45, 3);
4179 p = match_seq.current;
4180 switch (match_seq.status) {
4181 case kMatchComplete: {
4184 goto s_n_llhttp__internal__n_invoke_store_method_1;
4187 return s_n_llhttp__internal__n_start_req_45;
4189 case kMatchMismatch: {
4190 goto s_n_llhttp__internal__n_error_46;
4196 case s_n_llhttp__internal__n_start_req_47:
4197 s_n_llhttp__internal__n_start_req_47: {
4198 llparse_match_t match_seq;
4201 return s_n_llhttp__internal__n_start_req_47;
4203 match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob46, 2);
4204 p = match_seq.current;
4205 switch (match_seq.status) {
4206 case kMatchComplete: {
4209 goto s_n_llhttp__internal__n_invoke_store_method_1;
4212 return s_n_llhttp__internal__n_start_req_47;
4214 case kMatchMismatch: {
4215 goto s_n_llhttp__internal__n_error_46;
4221 case s_n_llhttp__internal__n_start_req_48:
4222 s_n_llhttp__internal__n_start_req_48: {
4223 llparse_match_t match_seq;
4226 return s_n_llhttp__internal__n_start_req_48;
4228 match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob47, 2);
4229 p = match_seq.current;
4230 switch (match_seq.status) {
4231 case kMatchComplete: {
4234 goto s_n_llhttp__internal__n_invoke_store_method_1;
4237 return s_n_llhttp__internal__n_start_req_48;
4239 case kMatchMismatch: {
4240 goto s_n_llhttp__internal__n_error_46;
4246 case s_n_llhttp__internal__n_start_req_46:
4247 s_n_llhttp__internal__n_start_req_46: {
4249 return s_n_llhttp__internal__n_start_req_46;
4254 goto s_n_llhttp__internal__n_start_req_47;
4258 goto s_n_llhttp__internal__n_start_req_48;
4261 goto s_n_llhttp__internal__n_error_46;
4267 case s_n_llhttp__internal__n_start_req_49:
4268 s_n_llhttp__internal__n_start_req_49: {
4269 llparse_match_t match_seq;
4272 return s_n_llhttp__internal__n_start_req_49;
4274 match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob48, 8);
4275 p = match_seq.current;
4276 switch (match_seq.status) {
4277 case kMatchComplete: {
4280 goto s_n_llhttp__internal__n_invoke_store_method_1;
4283 return s_n_llhttp__internal__n_start_req_49;
4285 case kMatchMismatch: {
4286 goto s_n_llhttp__internal__n_error_46;
4292 case s_n_llhttp__internal__n_start_req_44:
4293 s_n_llhttp__internal__n_start_req_44: {
4295 return s_n_llhttp__internal__n_start_req_44;
4300 goto s_n_llhttp__internal__n_start_req_45;
4304 goto s_n_llhttp__internal__n_start_req_46;
4308 goto s_n_llhttp__internal__n_start_req_49;
4311 goto s_n_llhttp__internal__n_error_46;
4317 case s_n_llhttp__internal__n_start_req_43:
4318 s_n_llhttp__internal__n_start_req_43: {
4320 return s_n_llhttp__internal__n_start_req_43;
4325 goto s_n_llhttp__internal__n_start_req_44;
4328 goto s_n_llhttp__internal__n_error_46;
4334 case s_n_llhttp__internal__n_start_req:
4335 s_n_llhttp__internal__n_start_req: {
4337 return s_n_llhttp__internal__n_start_req;
4342 goto s_n_llhttp__internal__n_start_req_1;
4346 goto s_n_llhttp__internal__n_start_req_2;
4350 goto s_n_llhttp__internal__n_start_req_3;
4354 goto s_n_llhttp__internal__n_start_req_8;
4358 goto s_n_llhttp__internal__n_start_req_9;
4362 goto s_n_llhttp__internal__n_start_req_10;
4366 goto s_n_llhttp__internal__n_start_req_11;
4370 goto s_n_llhttp__internal__n_start_req_14;
4374 goto s_n_llhttp__internal__n_start_req_23;
4378 goto s_n_llhttp__internal__n_start_req_24;
4382 goto s_n_llhttp__internal__n_start_req_25;
4386 goto s_n_llhttp__internal__n_start_req_34;
4390 goto s_n_llhttp__internal__n_start_req_38;
4394 goto s_n_llhttp__internal__n_start_req_42;
4398 goto s_n_llhttp__internal__n_start_req_43;
4401 goto s_n_llhttp__internal__n_error_46;
4407 case s_n_llhttp__internal__n_res_line_almost_done:
4408 s_n_llhttp__internal__n_res_line_almost_done: {
4410 return s_n_llhttp__internal__n_res_line_almost_done;
4413 goto s_n_llhttp__internal__n_header_field_start;
4417 case s_n_llhttp__internal__n_res_status:
4418 s_n_llhttp__internal__n_res_status: {
4420 return s_n_llhttp__internal__n_res_status;
4424 goto s_n_llhttp__internal__n_span_end_llhttp__on_status;
4427 goto s_n_llhttp__internal__n_span_end_llhttp__on_status_1;
4431 goto s_n_llhttp__internal__n_res_status;
4437 case s_n_llhttp__internal__n_span_start_llhttp__on_status:
4438 s_n_llhttp__internal__n_span_start_llhttp__on_status: {
4440 return s_n_llhttp__internal__n_span_start_llhttp__on_status;
4442 state->_span_pos0 = (void*) p;
4443 state->_span_cb0 = llhttp__on_status;
4444 goto s_n_llhttp__internal__n_res_status;
4448 case s_n_llhttp__internal__n_res_status_start:
4449 s_n_llhttp__internal__n_res_status_start: {
4451 return s_n_llhttp__internal__n_res_status_start;
4456 goto s_n_llhttp__internal__n_header_field_start;
4460 goto s_n_llhttp__internal__n_res_line_almost_done;
4463 goto s_n_llhttp__internal__n_span_start_llhttp__on_status;
4469 case s_n_llhttp__internal__n_res_status_code_otherwise:
4470 s_n_llhttp__internal__n_res_status_code_otherwise: {
4472 return s_n_llhttp__internal__n_res_status_code_otherwise;
4476 goto s_n_llhttp__internal__n_res_status_start;
4479 goto s_n_llhttp__internal__n_res_status_start;
4483 goto s_n_llhttp__internal__n_res_status_start;
4486 goto s_n_llhttp__internal__n_error_40;
4492 case s_n_llhttp__internal__n_res_status_code:
4493 s_n_llhttp__internal__n_res_status_code: {
4495 return s_n_llhttp__internal__n_res_status_code;
4501 goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
4506 goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
4511 goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
4516 goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
4521 goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
4526 goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
4531 goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
4536 goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
4541 goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
4546 goto s_n_llhttp__internal__n_invoke_mul_add_status_code;
4549 goto s_n_llhttp__internal__n_res_status_code_otherwise;
4555 case s_n_llhttp__internal__n_res_http_end:
4556 s_n_llhttp__internal__n_res_http_end: {
4558 return s_n_llhttp__internal__n_res_http_end;
4563 goto s_n_llhttp__internal__n_invoke_update_status_code;
4566 goto s_n_llhttp__internal__n_error_41;
4572 case s_n_llhttp__internal__n_res_http_minor:
4573 s_n_llhttp__internal__n_res_http_minor: {
4575 return s_n_llhttp__internal__n_res_http_minor;
4581 goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
4586 goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
4591 goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
4596 goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
4601 goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
4606 goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
4611 goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
4616 goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
4621 goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
4626 goto s_n_llhttp__internal__n_invoke_store_http_minor_1;
4629 goto s_n_llhttp__internal__n_error_42;
4635 case s_n_llhttp__internal__n_res_http_dot:
4636 s_n_llhttp__internal__n_res_http_dot: {
4638 return s_n_llhttp__internal__n_res_http_dot;
4643 goto s_n_llhttp__internal__n_res_http_minor;
4646 goto s_n_llhttp__internal__n_error_43;
4652 case s_n_llhttp__internal__n_res_http_major:
4653 s_n_llhttp__internal__n_res_http_major: {
4655 return s_n_llhttp__internal__n_res_http_major;
4661 goto s_n_llhttp__internal__n_invoke_store_http_major_1;
4666 goto s_n_llhttp__internal__n_invoke_store_http_major_1;
4671 goto s_n_llhttp__internal__n_invoke_store_http_major_1;
4676 goto s_n_llhttp__internal__n_invoke_store_http_major_1;
4681 goto s_n_llhttp__internal__n_invoke_store_http_major_1;
4686 goto s_n_llhttp__internal__n_invoke_store_http_major_1;
4691 goto s_n_llhttp__internal__n_invoke_store_http_major_1;
4696 goto s_n_llhttp__internal__n_invoke_store_http_major_1;
4701 goto s_n_llhttp__internal__n_invoke_store_http_major_1;
4706 goto s_n_llhttp__internal__n_invoke_store_http_major_1;
4709 goto s_n_llhttp__internal__n_error_44;
4715 case s_n_llhttp__internal__n_start_res:
4716 s_n_llhttp__internal__n_start_res: {
4717 llparse_match_t match_seq;
4720 return s_n_llhttp__internal__n_start_res;
4722 match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob49, 5);
4723 p = match_seq.current;
4724 switch (match_seq.status) {
4725 case kMatchComplete: {
4727 goto s_n_llhttp__internal__n_res_http_major;
4730 return s_n_llhttp__internal__n_start_res;
4732 case kMatchMismatch: {
4733 goto s_n_llhttp__internal__n_error_47;
4739 case s_n_llhttp__internal__n_req_or_res_method_2:
4740 s_n_llhttp__internal__n_req_or_res_method_2: {
4741 llparse_match_t match_seq;
4744 return s_n_llhttp__internal__n_req_or_res_method_2;
4746 match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob50, 2);
4747 p = match_seq.current;
4748 switch (match_seq.status) {
4749 case kMatchComplete: {
4752 goto s_n_llhttp__internal__n_invoke_store_method;
4755 return s_n_llhttp__internal__n_req_or_res_method_2;
4757 case kMatchMismatch: {
4758 goto s_n_llhttp__internal__n_error_45;
4764 case s_n_llhttp__internal__n_req_or_res_method_3:
4765 s_n_llhttp__internal__n_req_or_res_method_3: {
4766 llparse_match_t match_seq;
4769 return s_n_llhttp__internal__n_req_or_res_method_3;
4771 match_seq = llparse__match_sequence_id(state, p, endp, llparse_blob51, 3);
4772 p = match_seq.current;
4773 switch (match_seq.status) {
4774 case kMatchComplete: {
4776 goto s_n_llhttp__internal__n_invoke_update_type_1;
4779 return s_n_llhttp__internal__n_req_or_res_method_3;
4781 case kMatchMismatch: {
4782 goto s_n_llhttp__internal__n_error_45;
4788 case s_n_llhttp__internal__n_req_or_res_method_1:
4789 s_n_llhttp__internal__n_req_or_res_method_1: {
4791 return s_n_llhttp__internal__n_req_or_res_method_1;
4796 goto s_n_llhttp__internal__n_req_or_res_method_2;
4800 goto s_n_llhttp__internal__n_req_or_res_method_3;
4803 goto s_n_llhttp__internal__n_error_45;
4809 case s_n_llhttp__internal__n_req_or_res_method:
4810 s_n_llhttp__internal__n_req_or_res_method: {
4812 return s_n_llhttp__internal__n_req_or_res_method;
4817 goto s_n_llhttp__internal__n_req_or_res_method_1;
4820 goto s_n_llhttp__internal__n_error_45;
4826 case s_n_llhttp__internal__n_start_req_or_res:
4827 s_n_llhttp__internal__n_start_req_or_res: {
4829 return s_n_llhttp__internal__n_start_req_or_res;
4833 goto s_n_llhttp__internal__n_req_or_res_method;
4836 goto s_n_llhttp__internal__n_invoke_update_type_2;
4842 case s_n_llhttp__internal__n_invoke_load_type:
4843 s_n_llhttp__internal__n_invoke_load_type: {
4844 switch (llhttp__internal__c_load_type(state, p, endp)) {
4846 goto s_n_llhttp__internal__n_start_req;
4848 goto s_n_llhttp__internal__n_start_res;
4850 goto s_n_llhttp__internal__n_start_req_or_res;
4855 case s_n_llhttp__internal__n_start:
4856 s_n_llhttp__internal__n_start: {
4858 return s_n_llhttp__internal__n_start;
4863 goto s_n_llhttp__internal__n_start;
4867 goto s_n_llhttp__internal__n_start;
4870 goto s_n_llhttp__internal__n_invoke_update_finish;
4880 s_n_llhttp__internal__n_error_34: {
4882 state->reason = "Invalid characters in url";
4883 state->error_pos = (const char*) p;
4884 state->_current = (void*) (intptr_t) s_error;
4889 s_n_llhttp__internal__n_invoke_update_finish_1: {
4890 switch (llhttp__internal__c_update_finish_1(state, p, endp)) {
4892 goto s_n_llhttp__internal__n_start;
4897 s_n_llhttp__internal__n_pause_5: {
4898 state->error = 0x15;
4899 state->reason = "on_message_complete pause";
4900 state->error_pos = (const char*) p;
4901 state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_is_equal_upgrade;
4906 s_n_llhttp__internal__n_error_9: {
4907 state->error = 0x12;
4908 state->reason = "`on_message_complete` callback error";
4909 state->error_pos = (const char*) p;
4910 state->_current = (void*) (intptr_t) s_error;
4915 s_n_llhttp__internal__n_pause_7: {
4916 state->error = 0x15;
4917 state->reason = "on_chunk_complete pause";
4918 state->error_pos = (const char*) p;
4919 state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_2;
4924 s_n_llhttp__internal__n_error_13: {
4925 state->error = 0x14;
4926 state->reason = "`on_chunk_complete` callback error";
4927 state->error_pos = (const char*) p;
4928 state->_current = (void*) (intptr_t) s_error;
4933 s_n_llhttp__internal__n_invoke_llhttp__on_chunk_complete_1: {
4934 switch (llhttp__on_chunk_complete(state, p, endp)) {
4936 goto s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_2;
4938 goto s_n_llhttp__internal__n_pause_7;
4940 goto s_n_llhttp__internal__n_error_13;
4945 s_n_llhttp__internal__n_error_11: {
4947 state->reason = "Content-Length can't be present with Transfer-Encoding";
4948 state->error_pos = (const char*) p;
4949 state->_current = (void*) (intptr_t) s_error;
4954 s_n_llhttp__internal__n_error_12: {
4956 state->reason = "Content-Length can't be present with chunked encoding";
4957 state->error_pos = (const char*) p;
4958 state->_current = (void*) (intptr_t) s_error;
4963 s_n_llhttp__internal__n_pause_2: {
4964 state->error = 0x15;
4965 state->reason = "on_message_complete pause";
4966 state->error_pos = (const char*) p;
4967 state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_pause_1;
4972 s_n_llhttp__internal__n_error_3: {
4973 state->error = 0x12;
4974 state->reason = "`on_message_complete` callback error";
4975 state->error_pos = (const char*) p;
4976 state->_current = (void*) (intptr_t) s_error;
4981 s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_1: {
4982 switch (llhttp__on_message_complete(state, p, endp)) {
4984 goto s_n_llhttp__internal__n_pause_1;
4986 goto s_n_llhttp__internal__n_pause_2;
4988 goto s_n_llhttp__internal__n_error_3;
4993 s_n_llhttp__internal__n_error_7: {
4995 state->reason = "Chunk size overflow";
4996 state->error_pos = (const char*) p;
4997 state->_current = (void*) (intptr_t) s_error;
5002 s_n_llhttp__internal__n_pause_3: {
5003 state->error = 0x15;
5004 state->reason = "on_chunk_complete pause";
5005 state->error_pos = (const char*) p;
5006 state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_update_content_length;
5011 s_n_llhttp__internal__n_error_5: {
5012 state->error = 0x14;
5013 state->reason = "`on_chunk_complete` callback error";
5014 state->error_pos = (const char*) p;
5015 state->_current = (void*) (intptr_t) s_error;
5020 s_n_llhttp__internal__n_invoke_llhttp__on_chunk_complete: {
5021 switch (llhttp__on_chunk_complete(state, p, endp)) {
5023 goto s_n_llhttp__internal__n_invoke_update_content_length;
5025 goto s_n_llhttp__internal__n_pause_3;
5027 goto s_n_llhttp__internal__n_error_5;
5032 s_n_llhttp__internal__n_span_end_llhttp__on_body: {
5033 const unsigned char* start;
5036 start = state->_span_pos0;
5037 state->_span_pos0 = NULL;
5038 err = llhttp__on_body(state, start, p);
5041 state->error_pos = (const char*) p;
5042 state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_chunk_data_almost_done;
5045 goto s_n_llhttp__internal__n_chunk_data_almost_done;
5049 s_n_llhttp__internal__n_invoke_or_flags: {
5050 switch (llhttp__internal__c_or_flags(state, p, endp)) {
5052 goto s_n_llhttp__internal__n_header_field_start;
5057 s_n_llhttp__internal__n_pause_4: {
5058 state->error = 0x15;
5059 state->reason = "on_chunk_header pause";
5060 state->error_pos = (const char*) p;
5061 state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_is_equal_content_length;
5066 s_n_llhttp__internal__n_error_4: {
5067 state->error = 0x13;
5068 state->reason = "`on_chunk_header` callback error";
5069 state->error_pos = (const char*) p;
5070 state->_current = (void*) (intptr_t) s_error;
5075 s_n_llhttp__internal__n_invoke_llhttp__on_chunk_header: {
5076 switch (llhttp__on_chunk_header(state, p, endp)) {
5078 goto s_n_llhttp__internal__n_invoke_is_equal_content_length;
5080 goto s_n_llhttp__internal__n_pause_4;
5082 goto s_n_llhttp__internal__n_error_4;
5087 s_n_llhttp__internal__n_error_6: {
5089 state->reason = "Invalid character in chunk size";
5090 state->error_pos = (const char*) p;
5091 state->_current = (void*) (intptr_t) s_error;
5096 s_n_llhttp__internal__n_invoke_mul_add_content_length: {
5097 switch (llhttp__internal__c_mul_add_content_length(state, p, endp, match)) {
5099 goto s_n_llhttp__internal__n_error_7;
5101 goto s_n_llhttp__internal__n_chunk_size;
5106 s_n_llhttp__internal__n_error_8: {
5108 state->reason = "Invalid character in chunk size";
5109 state->error_pos = (const char*) p;
5110 state->_current = (void*) (intptr_t) s_error;
5115 s_n_llhttp__internal__n_span_end_llhttp__on_body_1: {
5116 const unsigned char* start;
5119 start = state->_span_pos0;
5120 state->_span_pos0 = NULL;
5121 err = llhttp__on_body(state, start, p);
5124 state->error_pos = (const char*) p;
5125 state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_2;
5128 goto s_n_llhttp__internal__n_invoke_llhttp__on_message_complete_2;
5132 s_n_llhttp__internal__n_invoke_update_finish_2: {
5133 switch (llhttp__internal__c_update_finish_2(state, p, endp)) {
5135 goto s_n_llhttp__internal__n_span_start_llhttp__on_body_2;
5140 s_n_llhttp__internal__n_error_10: {
5142 state->reason = "Request has invalid `Transfer-Encoding`";
5143 state->error_pos = (const char*) p;
5144 state->_current = (void*) (intptr_t) s_error;
5149 s_n_llhttp__internal__n_pause: {
5150 state->error = 0x15;
5151 state->reason = "on_message_complete pause";
5152 state->error_pos = (const char*) p;
5153 state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_llhttp__after_message_complete;
5158 s_n_llhttp__internal__n_error_2: {
5159 state->error = 0x12;
5160 state->reason = "`on_message_complete` callback error";
5161 state->error_pos = (const char*) p;
5162 state->_current = (void*) (intptr_t) s_error;
5167 s_n_llhttp__internal__n_invoke_llhttp__on_message_complete: {
5168 switch (llhttp__on_message_complete(state, p, endp)) {
5170 goto s_n_llhttp__internal__n_invoke_llhttp__after_message_complete;
5172 goto s_n_llhttp__internal__n_pause;
5174 goto s_n_llhttp__internal__n_error_2;
5179 s_n_llhttp__internal__n_invoke_or_flags_1: {
5180 switch (llhttp__internal__c_or_flags_1(state, p, endp)) {
5182 goto s_n_llhttp__internal__n_invoke_llhttp__after_headers_complete;
5187 s_n_llhttp__internal__n_invoke_or_flags_2: {
5188 switch (llhttp__internal__c_or_flags_1(state, p, endp)) {
5190 goto s_n_llhttp__internal__n_invoke_llhttp__after_headers_complete;
5195 s_n_llhttp__internal__n_invoke_update_upgrade: {
5196 switch (llhttp__internal__c_update_upgrade(state, p, endp)) {
5198 goto s_n_llhttp__internal__n_invoke_or_flags_2;
5203 s_n_llhttp__internal__n_pause_6: {
5204 state->error = 0x15;
5205 state->reason = "Paused by on_headers_complete";
5206 state->error_pos = (const char*) p;
5207 state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_llhttp__after_headers_complete;
5212 s_n_llhttp__internal__n_error_1: {
5213 state->error = 0x11;
5214 state->reason = "User callback error";
5215 state->error_pos = (const char*) p;
5216 state->_current = (void*) (intptr_t) s_error;
5221 s_n_llhttp__internal__n_invoke_llhttp__on_headers_complete: {
5222 switch (llhttp__on_headers_complete(state, p, endp)) {
5224 goto s_n_llhttp__internal__n_invoke_llhttp__after_headers_complete;
5226 goto s_n_llhttp__internal__n_invoke_or_flags_1;
5228 goto s_n_llhttp__internal__n_invoke_update_upgrade;
5230 goto s_n_llhttp__internal__n_pause_6;
5232 goto s_n_llhttp__internal__n_error_1;
5237 s_n_llhttp__internal__n_invoke_llhttp__before_headers_complete: {
5238 switch (llhttp__before_headers_complete(state, p, endp)) {
5240 goto s_n_llhttp__internal__n_invoke_llhttp__on_headers_complete;
5245 s_n_llhttp__internal__n_invoke_test_flags_3: {
5246 switch (llhttp__internal__c_test_flags_3(state, p, endp)) {
5248 goto s_n_llhttp__internal__n_error_12;
5250 goto s_n_llhttp__internal__n_invoke_llhttp__before_headers_complete;
5255 s_n_llhttp__internal__n_invoke_test_flags_2: {
5256 switch (llhttp__internal__c_test_flags_2(state, p, endp)) {
5258 goto s_n_llhttp__internal__n_error_11;
5260 goto s_n_llhttp__internal__n_invoke_test_flags_3;
5262 goto s_n_llhttp__internal__n_invoke_llhttp__before_headers_complete;
5267 s_n_llhttp__internal__n_invoke_test_flags_1: {
5268 switch (llhttp__internal__c_test_flags_1(state, p, endp)) {
5270 goto s_n_llhttp__internal__n_invoke_test_flags_2;
5272 goto s_n_llhttp__internal__n_invoke_llhttp__before_headers_complete;
5277 s_n_llhttp__internal__n_invoke_test_flags: {
5278 switch (llhttp__internal__c_test_flags(state, p, endp)) {
5280 goto s_n_llhttp__internal__n_invoke_llhttp__on_chunk_complete_1;
5282 goto s_n_llhttp__internal__n_invoke_test_flags_1;
5287 s_n_llhttp__internal__n_error_14: {
5289 state->reason = "Empty Content-Length";
5290 state->error_pos = (const char*) p;
5291 state->_current = (void*) (intptr_t) s_error;
5296 s_n_llhttp__internal__n_span_end_llhttp__on_header_value: {
5297 const unsigned char* start;
5300 start = state->_span_pos0;
5301 state->_span_pos0 = NULL;
5302 err = llhttp__on_header_value(state, start, p);
5305 state->error_pos = (const char*) p;
5306 state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_header_field_start;
5309 goto s_n_llhttp__internal__n_header_field_start;
5313 s_n_llhttp__internal__n_invoke_update_header_state: {
5314 switch (llhttp__internal__c_update_header_state(state, p, endp)) {
5316 goto s_n_llhttp__internal__n_span_start_llhttp__on_header_value;
5321 s_n_llhttp__internal__n_invoke_or_flags_3: {
5322 switch (llhttp__internal__c_or_flags_3(state, p, endp)) {
5324 goto s_n_llhttp__internal__n_invoke_update_header_state;
5329 s_n_llhttp__internal__n_invoke_or_flags_4: {
5330 switch (llhttp__internal__c_or_flags_4(state, p, endp)) {
5332 goto s_n_llhttp__internal__n_invoke_update_header_state;
5337 s_n_llhttp__internal__n_invoke_or_flags_5: {
5338 switch (llhttp__internal__c_or_flags_5(state, p, endp)) {
5340 goto s_n_llhttp__internal__n_invoke_update_header_state;
5345 s_n_llhttp__internal__n_invoke_or_flags_6: {
5346 switch (llhttp__internal__c_or_flags_6(state, p, endp)) {
5348 goto s_n_llhttp__internal__n_span_start_llhttp__on_header_value;
5353 s_n_llhttp__internal__n_invoke_load_header_state_1: {
5354 switch (llhttp__internal__c_load_header_state(state, p, endp)) {
5356 goto s_n_llhttp__internal__n_invoke_or_flags_3;
5358 goto s_n_llhttp__internal__n_invoke_or_flags_4;
5360 goto s_n_llhttp__internal__n_invoke_or_flags_5;
5362 goto s_n_llhttp__internal__n_invoke_or_flags_6;
5364 goto s_n_llhttp__internal__n_span_start_llhttp__on_header_value;
5369 s_n_llhttp__internal__n_invoke_load_header_state: {
5370 switch (llhttp__internal__c_load_header_state(state, p, endp)) {
5372 goto s_n_llhttp__internal__n_error_14;
5374 goto s_n_llhttp__internal__n_invoke_load_header_state_1;
5379 s_n_llhttp__internal__n_invoke_update_header_state_1: {
5380 switch (llhttp__internal__c_update_header_state(state, p, endp)) {
5382 goto s_n_llhttp__internal__n_header_field_start;
5387 s_n_llhttp__internal__n_invoke_or_flags_7: {
5388 switch (llhttp__internal__c_or_flags_3(state, p, endp)) {
5390 goto s_n_llhttp__internal__n_invoke_update_header_state_1;
5395 s_n_llhttp__internal__n_invoke_or_flags_8: {
5396 switch (llhttp__internal__c_or_flags_4(state, p, endp)) {
5398 goto s_n_llhttp__internal__n_invoke_update_header_state_1;
5403 s_n_llhttp__internal__n_invoke_or_flags_9: {
5404 switch (llhttp__internal__c_or_flags_5(state, p, endp)) {
5406 goto s_n_llhttp__internal__n_invoke_update_header_state_1;
5411 s_n_llhttp__internal__n_invoke_or_flags_10: {
5412 switch (llhttp__internal__c_or_flags_6(state, p, endp)) {
5414 goto s_n_llhttp__internal__n_header_field_start;
5419 s_n_llhttp__internal__n_invoke_load_header_state_3: {
5420 switch (llhttp__internal__c_load_header_state(state, p, endp)) {
5422 goto s_n_llhttp__internal__n_invoke_or_flags_7;
5424 goto s_n_llhttp__internal__n_invoke_or_flags_8;
5426 goto s_n_llhttp__internal__n_invoke_or_flags_9;
5428 goto s_n_llhttp__internal__n_invoke_or_flags_10;
5430 goto s_n_llhttp__internal__n_header_field_start;
5435 s_n_llhttp__internal__n_error_15: {
5437 state->reason = "Missing expected LF after header value";
5438 state->error_pos = (const char*) p;
5439 state->_current = (void*) (intptr_t) s_error;
5444 s_n_llhttp__internal__n_span_end_llhttp__on_header_value_1: {
5445 const unsigned char* start;
5448 start = state->_span_pos0;
5449 state->_span_pos0 = NULL;
5450 err = llhttp__on_header_value(state, start, p);
5453 state->error_pos = (const char*) p;
5454 state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_header_value_almost_done;
5457 goto s_n_llhttp__internal__n_header_value_almost_done;
5461 s_n_llhttp__internal__n_span_end_llhttp__on_header_value_2: {
5462 const unsigned char* start;
5465 start = state->_span_pos0;
5466 state->_span_pos0 = NULL;
5467 err = llhttp__on_header_value(state, start, p);
5470 state->error_pos = (const char*) (p + 1);
5471 state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_header_value_almost_done;
5475 goto s_n_llhttp__internal__n_header_value_almost_done;
5479 s_n_llhttp__internal__n_span_end_llhttp__on_header_value_3: {
5480 const unsigned char* start;
5483 start = state->_span_pos0;
5484 state->_span_pos0 = NULL;
5485 err = llhttp__on_header_value(state, start, p);
5488 state->error_pos = (const char*) (p + 1);
5489 state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_header_value_almost_done;
5493 goto s_n_llhttp__internal__n_header_value_almost_done;
5497 s_n_llhttp__internal__n_error_16: {
5499 state->reason = "Invalid header value char";
5500 state->error_pos = (const char*) p;
5501 state->_current = (void*) (intptr_t) s_error;
5506 s_n_llhttp__internal__n_invoke_test_flags_4: {
5507 switch (llhttp__internal__c_test_flags_2(state, p, endp)) {
5509 goto s_n_llhttp__internal__n_header_value_lenient;
5511 goto s_n_llhttp__internal__n_error_16;
5516 s_n_llhttp__internal__n_invoke_update_header_state_3: {
5517 switch (llhttp__internal__c_update_header_state(state, p, endp)) {
5519 goto s_n_llhttp__internal__n_header_value_connection;
5524 s_n_llhttp__internal__n_invoke_or_flags_11: {
5525 switch (llhttp__internal__c_or_flags_3(state, p, endp)) {
5527 goto s_n_llhttp__internal__n_invoke_update_header_state_3;
5532 s_n_llhttp__internal__n_invoke_or_flags_12: {
5533 switch (llhttp__internal__c_or_flags_4(state, p, endp)) {
5535 goto s_n_llhttp__internal__n_invoke_update_header_state_3;
5540 s_n_llhttp__internal__n_invoke_or_flags_13: {
5541 switch (llhttp__internal__c_or_flags_5(state, p, endp)) {
5543 goto s_n_llhttp__internal__n_invoke_update_header_state_3;
5548 s_n_llhttp__internal__n_invoke_or_flags_14: {
5549 switch (llhttp__internal__c_or_flags_6(state, p, endp)) {
5551 goto s_n_llhttp__internal__n_header_value_connection;
5556 s_n_llhttp__internal__n_invoke_load_header_state_4: {
5557 switch (llhttp__internal__c_load_header_state(state, p, endp)) {
5559 goto s_n_llhttp__internal__n_invoke_or_flags_11;
5561 goto s_n_llhttp__internal__n_invoke_or_flags_12;
5563 goto s_n_llhttp__internal__n_invoke_or_flags_13;
5565 goto s_n_llhttp__internal__n_invoke_or_flags_14;
5567 goto s_n_llhttp__internal__n_header_value_connection;
5572 s_n_llhttp__internal__n_invoke_update_header_state_4: {
5573 switch (llhttp__internal__c_update_header_state_4(state, p, endp)) {
5575 goto s_n_llhttp__internal__n_header_value_connection_token;
5580 s_n_llhttp__internal__n_invoke_update_header_state_2: {
5581 switch (llhttp__internal__c_update_header_state_2(state, p, endp)) {
5583 goto s_n_llhttp__internal__n_header_value_connection_ws;
5588 s_n_llhttp__internal__n_invoke_update_header_state_5: {
5589 switch (llhttp__internal__c_update_header_state_5(state, p, endp)) {
5591 goto s_n_llhttp__internal__n_header_value_connection_ws;
5596 s_n_llhttp__internal__n_invoke_update_header_state_6: {
5597 switch (llhttp__internal__c_update_header_state_6(state, p, endp)) {
5599 goto s_n_llhttp__internal__n_header_value_connection_ws;
5604 s_n_llhttp__internal__n_span_end_llhttp__on_header_value_4: {
5605 const unsigned char* start;
5608 start = state->_span_pos0;
5609 state->_span_pos0 = NULL;
5610 err = llhttp__on_header_value(state, start, p);
5613 state->error_pos = (const char*) p;
5614 state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_error_18;
5617 goto s_n_llhttp__internal__n_error_18;
5621 s_n_llhttp__internal__n_invoke_mul_add_content_length_1: {
5622 switch (llhttp__internal__c_mul_add_content_length_1(state, p, endp, match)) {
5624 goto s_n_llhttp__internal__n_span_end_llhttp__on_header_value_4;
5626 goto s_n_llhttp__internal__n_header_value_content_length;
5631 s_n_llhttp__internal__n_invoke_update_header_state_7: {
5632 switch (llhttp__internal__c_update_header_state_4(state, p, endp)) {
5634 goto s_n_llhttp__internal__n_header_value;
5639 s_n_llhttp__internal__n_invoke_or_flags_15: {
5640 switch (llhttp__internal__c_or_flags_15(state, p, endp)) {
5642 goto s_n_llhttp__internal__n_header_value_discard_rws;
5647 s_n_llhttp__internal__n_span_end_llhttp__on_header_value_5: {
5648 const unsigned char* start;
5651 start = state->_span_pos0;
5652 state->_span_pos0 = NULL;
5653 err = llhttp__on_header_value(state, start, p);
5656 state->error_pos = (const char*) p;
5657 state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_error_19;
5660 goto s_n_llhttp__internal__n_error_19;
5664 s_n_llhttp__internal__n_error_17: {
5666 state->reason = "Duplicate Content-Length";
5667 state->error_pos = (const char*) p;
5668 state->_current = (void*) (intptr_t) s_error;
5673 s_n_llhttp__internal__n_invoke_test_flags_5: {
5674 switch (llhttp__internal__c_test_flags_5(state, p, endp)) {
5676 goto s_n_llhttp__internal__n_header_value_content_length;
5678 goto s_n_llhttp__internal__n_error_17;
5683 s_n_llhttp__internal__n_invoke_update_header_state_8: {
5684 switch (llhttp__internal__c_update_header_state_8(state, p, endp)) {
5686 goto s_n_llhttp__internal__n_header_value_otherwise;
5691 s_n_llhttp__internal__n_invoke_or_flags_16: {
5692 switch (llhttp__internal__c_or_flags_16(state, p, endp)) {
5694 goto s_n_llhttp__internal__n_header_value_te_chunked;
5699 s_n_llhttp__internal__n_invoke_or_flags_17: {
5700 switch (llhttp__internal__c_or_flags_17(state, p, endp)) {
5702 goto s_n_llhttp__internal__n_invoke_update_header_state_7;
5707 s_n_llhttp__internal__n_invoke_load_header_state_2: {
5708 switch (llhttp__internal__c_load_header_state(state, p, endp)) {
5710 goto s_n_llhttp__internal__n_header_value_connection;
5712 goto s_n_llhttp__internal__n_invoke_test_flags_5;
5714 goto s_n_llhttp__internal__n_invoke_or_flags_16;
5716 goto s_n_llhttp__internal__n_invoke_or_flags_17;
5718 goto s_n_llhttp__internal__n_header_value;
5723 s_n_llhttp__internal__n_span_end_llhttp__on_header_field: {
5724 const unsigned char* start;
5727 start = state->_span_pos0;
5728 state->_span_pos0 = NULL;
5729 err = llhttp__on_header_field(state, start, p);
5732 state->error_pos = (const char*) (p + 1);
5733 state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_header_value_discard_ws;
5737 goto s_n_llhttp__internal__n_header_value_discard_ws;
5741 s_n_llhttp__internal__n_span_end_llhttp__on_header_field_1: {
5742 const unsigned char* start;
5745 start = state->_span_pos0;
5746 state->_span_pos0 = NULL;
5747 err = llhttp__on_header_field(state, start, p);
5750 state->error_pos = (const char*) (p + 1);
5751 state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_header_value_discard_ws;
5755 goto s_n_llhttp__internal__n_header_value_discard_ws;
5759 s_n_llhttp__internal__n_error_20: {
5761 state->reason = "Invalid header token";
5762 state->error_pos = (const char*) p;
5763 state->_current = (void*) (intptr_t) s_error;
5768 s_n_llhttp__internal__n_invoke_update_header_state_9: {
5769 switch (llhttp__internal__c_update_header_state_4(state, p, endp)) {
5771 goto s_n_llhttp__internal__n_header_field_general;
5776 s_n_llhttp__internal__n_invoke_store_header_state: {
5777 switch (llhttp__internal__c_store_header_state(state, p, endp, match)) {
5779 goto s_n_llhttp__internal__n_header_field_colon;
5784 s_n_llhttp__internal__n_invoke_update_header_state_10: {
5785 switch (llhttp__internal__c_update_header_state_4(state, p, endp)) {
5787 goto s_n_llhttp__internal__n_header_field_general;
5792 s_n_llhttp__internal__n_invoke_update_http_minor: {
5793 switch (llhttp__internal__c_update_http_minor(state, p, endp)) {
5795 goto s_n_llhttp__internal__n_header_field_start;
5800 s_n_llhttp__internal__n_invoke_update_http_major: {
5801 switch (llhttp__internal__c_update_http_major(state, p, endp)) {
5803 goto s_n_llhttp__internal__n_invoke_update_http_minor;
5808 s_n_llhttp__internal__n_span_end_llhttp__on_url_3: {
5809 const unsigned char* start;
5812 start = state->_span_pos0;
5813 state->_span_pos0 = NULL;
5814 err = llhttp__on_url(state, start, p);
5817 state->error_pos = (const char*) p;
5818 state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_to_http09;
5821 goto s_n_llhttp__internal__n_url_skip_to_http09;
5825 s_n_llhttp__internal__n_error_21: {
5827 state->reason = "Expected CRLF";
5828 state->error_pos = (const char*) p;
5829 state->_current = (void*) (intptr_t) s_error;
5834 s_n_llhttp__internal__n_span_end_llhttp__on_url_4: {
5835 const unsigned char* start;
5838 start = state->_span_pos0;
5839 state->_span_pos0 = NULL;
5840 err = llhttp__on_url(state, start, p);
5843 state->error_pos = (const char*) p;
5844 state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_lf_to_http09;
5847 goto s_n_llhttp__internal__n_url_skip_lf_to_http09;
5851 s_n_llhttp__internal__n_error_22: {
5853 state->reason = "Expected CRLF after version";
5854 state->error_pos = (const char*) p;
5855 state->_current = (void*) (intptr_t) s_error;
5860 s_n_llhttp__internal__n_invoke_store_http_minor: {
5861 switch (llhttp__internal__c_store_http_minor(state, p, endp, match)) {
5863 goto s_n_llhttp__internal__n_req_http_end;
5868 s_n_llhttp__internal__n_error_23: {
5870 state->reason = "Invalid minor version";
5871 state->error_pos = (const char*) p;
5872 state->_current = (void*) (intptr_t) s_error;
5877 s_n_llhttp__internal__n_error_24: {
5879 state->reason = "Expected dot";
5880 state->error_pos = (const char*) p;
5881 state->_current = (void*) (intptr_t) s_error;
5886 s_n_llhttp__internal__n_invoke_store_http_major: {
5887 switch (llhttp__internal__c_store_http_major(state, p, endp, match)) {
5889 goto s_n_llhttp__internal__n_req_http_dot;
5894 s_n_llhttp__internal__n_error_25: {
5896 state->reason = "Invalid major version";
5897 state->error_pos = (const char*) p;
5898 state->_current = (void*) (intptr_t) s_error;
5903 s_n_llhttp__internal__n_error_27: {
5905 state->reason = "Expected HTTP/";
5906 state->error_pos = (const char*) p;
5907 state->_current = (void*) (intptr_t) s_error;
5912 s_n_llhttp__internal__n_error_26: {
5914 state->reason = "Expected SOURCE method for ICE/x.x request";
5915 state->error_pos = (const char*) p;
5916 state->_current = (void*) (intptr_t) s_error;
5921 s_n_llhttp__internal__n_invoke_is_equal_method_1: {
5922 switch (llhttp__internal__c_is_equal_method_1(state, p, endp)) {
5924 goto s_n_llhttp__internal__n_error_26;
5926 goto s_n_llhttp__internal__n_req_http_major;
5931 s_n_llhttp__internal__n_span_end_llhttp__on_url_5: {
5932 const unsigned char* start;
5935 start = state->_span_pos0;
5936 state->_span_pos0 = NULL;
5937 err = llhttp__on_url(state, start, p);
5940 state->error_pos = (const char*) p;
5941 state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_to_http;
5944 goto s_n_llhttp__internal__n_url_skip_to_http;
5948 s_n_llhttp__internal__n_span_end_llhttp__on_url_6: {
5949 const unsigned char* start;
5952 start = state->_span_pos0;
5953 state->_span_pos0 = NULL;
5954 err = llhttp__on_url(state, start, p);
5957 state->error_pos = (const char*) p;
5958 state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_to_http09;
5961 goto s_n_llhttp__internal__n_url_skip_to_http09;
5965 s_n_llhttp__internal__n_span_end_llhttp__on_url_7: {
5966 const unsigned char* start;
5969 start = state->_span_pos0;
5970 state->_span_pos0 = NULL;
5971 err = llhttp__on_url(state, start, p);
5974 state->error_pos = (const char*) p;
5975 state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_lf_to_http09;
5978 goto s_n_llhttp__internal__n_url_skip_lf_to_http09;
5982 s_n_llhttp__internal__n_span_end_llhttp__on_url_8: {
5983 const unsigned char* start;
5986 start = state->_span_pos0;
5987 state->_span_pos0 = NULL;
5988 err = llhttp__on_url(state, start, p);
5991 state->error_pos = (const char*) p;
5992 state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_to_http;
5995 goto s_n_llhttp__internal__n_url_skip_to_http;
5999 s_n_llhttp__internal__n_error_28: {
6001 state->reason = "Invalid char in url fragment start";
6002 state->error_pos = (const char*) p;
6003 state->_current = (void*) (intptr_t) s_error;
6008 s_n_llhttp__internal__n_span_end_llhttp__on_url_9: {
6009 const unsigned char* start;
6012 start = state->_span_pos0;
6013 state->_span_pos0 = NULL;
6014 err = llhttp__on_url(state, start, p);
6017 state->error_pos = (const char*) p;
6018 state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_to_http09;
6021 goto s_n_llhttp__internal__n_url_skip_to_http09;
6025 s_n_llhttp__internal__n_span_end_llhttp__on_url_10: {
6026 const unsigned char* start;
6029 start = state->_span_pos0;
6030 state->_span_pos0 = NULL;
6031 err = llhttp__on_url(state, start, p);
6034 state->error_pos = (const char*) p;
6035 state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_lf_to_http09;
6038 goto s_n_llhttp__internal__n_url_skip_lf_to_http09;
6042 s_n_llhttp__internal__n_span_end_llhttp__on_url_11: {
6043 const unsigned char* start;
6046 start = state->_span_pos0;
6047 state->_span_pos0 = NULL;
6048 err = llhttp__on_url(state, start, p);
6051 state->error_pos = (const char*) p;
6052 state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_to_http;
6055 goto s_n_llhttp__internal__n_url_skip_to_http;
6059 s_n_llhttp__internal__n_error_29: {
6061 state->reason = "Invalid char in url query";
6062 state->error_pos = (const char*) p;
6063 state->_current = (void*) (intptr_t) s_error;
6068 s_n_llhttp__internal__n_error_30: {
6070 state->reason = "Invalid char in url path";
6071 state->error_pos = (const char*) p;
6072 state->_current = (void*) (intptr_t) s_error;
6077 s_n_llhttp__internal__n_span_end_llhttp__on_url: {
6078 const unsigned char* start;
6081 start = state->_span_pos0;
6082 state->_span_pos0 = NULL;
6083 err = llhttp__on_url(state, start, p);
6086 state->error_pos = (const char*) p;
6087 state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_to_http09;
6090 goto s_n_llhttp__internal__n_url_skip_to_http09;
6094 s_n_llhttp__internal__n_span_end_llhttp__on_url_1: {
6095 const unsigned char* start;
6098 start = state->_span_pos0;
6099 state->_span_pos0 = NULL;
6100 err = llhttp__on_url(state, start, p);
6103 state->error_pos = (const char*) p;
6104 state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_lf_to_http09;
6107 goto s_n_llhttp__internal__n_url_skip_lf_to_http09;
6111 s_n_llhttp__internal__n_span_end_llhttp__on_url_2: {
6112 const unsigned char* start;
6115 start = state->_span_pos0;
6116 state->_span_pos0 = NULL;
6117 err = llhttp__on_url(state, start, p);
6120 state->error_pos = (const char*) p;
6121 state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_to_http;
6124 goto s_n_llhttp__internal__n_url_skip_to_http;
6128 s_n_llhttp__internal__n_span_end_llhttp__on_url_12: {
6129 const unsigned char* start;
6132 start = state->_span_pos0;
6133 state->_span_pos0 = NULL;
6134 err = llhttp__on_url(state, start, p);
6137 state->error_pos = (const char*) p;
6138 state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_to_http09;
6141 goto s_n_llhttp__internal__n_url_skip_to_http09;
6145 s_n_llhttp__internal__n_span_end_llhttp__on_url_13: {
6146 const unsigned char* start;
6149 start = state->_span_pos0;
6150 state->_span_pos0 = NULL;
6151 err = llhttp__on_url(state, start, p);
6154 state->error_pos = (const char*) p;
6155 state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_lf_to_http09;
6158 goto s_n_llhttp__internal__n_url_skip_lf_to_http09;
6162 s_n_llhttp__internal__n_span_end_llhttp__on_url_14: {
6163 const unsigned char* start;
6166 start = state->_span_pos0;
6167 state->_span_pos0 = NULL;
6168 err = llhttp__on_url(state, start, p);
6171 state->error_pos = (const char*) p;
6172 state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_url_skip_to_http;
6175 goto s_n_llhttp__internal__n_url_skip_to_http;
6179 s_n_llhttp__internal__n_error_31: {
6181 state->reason = "Double @ in url";
6182 state->error_pos = (const char*) p;
6183 state->_current = (void*) (intptr_t) s_error;
6188 s_n_llhttp__internal__n_error_32: {
6190 state->reason = "Unexpected char in url server";
6191 state->error_pos = (const char*) p;
6192 state->_current = (void*) (intptr_t) s_error;
6197 s_n_llhttp__internal__n_error_33: {
6199 state->reason = "Unexpected char in url server";
6200 state->error_pos = (const char*) p;
6201 state->_current = (void*) (intptr_t) s_error;
6206 s_n_llhttp__internal__n_error_35: {
6208 state->reason = "Unexpected char in url schema";
6209 state->error_pos = (const char*) p;
6210 state->_current = (void*) (intptr_t) s_error;
6215 s_n_llhttp__internal__n_error_36: {
6217 state->reason = "Unexpected char in url schema";
6218 state->error_pos = (const char*) p;
6219 state->_current = (void*) (intptr_t) s_error;
6224 s_n_llhttp__internal__n_error_37: {
6226 state->reason = "Unexpected start char in url";
6227 state->error_pos = (const char*) p;
6228 state->_current = (void*) (intptr_t) s_error;
6233 s_n_llhttp__internal__n_invoke_is_equal_method: {
6234 switch (llhttp__internal__c_is_equal_method(state, p, endp)) {
6236 goto s_n_llhttp__internal__n_span_start_llhttp__on_url_1;
6238 goto s_n_llhttp__internal__n_span_start_llhttp__on_url;
6243 s_n_llhttp__internal__n_error_38: {
6245 state->reason = "Expected space after method";
6246 state->error_pos = (const char*) p;
6247 state->_current = (void*) (intptr_t) s_error;
6252 s_n_llhttp__internal__n_invoke_store_method_1: {
6253 switch (llhttp__internal__c_store_method(state, p, endp, match)) {
6255 goto s_n_llhttp__internal__n_req_first_space_before_url;
6260 s_n_llhttp__internal__n_error_46: {
6262 state->reason = "Invalid method encountered";
6263 state->error_pos = (const char*) p;
6264 state->_current = (void*) (intptr_t) s_error;
6269 s_n_llhttp__internal__n_error_39: {
6271 state->reason = "Response overflow";
6272 state->error_pos = (const char*) p;
6273 state->_current = (void*) (intptr_t) s_error;
6278 s_n_llhttp__internal__n_invoke_mul_add_status_code: {
6279 switch (llhttp__internal__c_mul_add_status_code(state, p, endp, match)) {
6281 goto s_n_llhttp__internal__n_error_39;
6283 goto s_n_llhttp__internal__n_res_status_code;
6288 s_n_llhttp__internal__n_span_end_llhttp__on_status: {
6289 const unsigned char* start;
6292 start = state->_span_pos0;
6293 state->_span_pos0 = NULL;
6294 err = llhttp__on_status(state, start, p);
6297 state->error_pos = (const char*) (p + 1);
6298 state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_header_field_start;
6302 goto s_n_llhttp__internal__n_header_field_start;
6306 s_n_llhttp__internal__n_span_end_llhttp__on_status_1: {
6307 const unsigned char* start;
6310 start = state->_span_pos0;
6311 state->_span_pos0 = NULL;
6312 err = llhttp__on_status(state, start, p);
6315 state->error_pos = (const char*) (p + 1);
6316 state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_res_line_almost_done;
6320 goto s_n_llhttp__internal__n_res_line_almost_done;
6324 s_n_llhttp__internal__n_error_40: {
6326 state->reason = "Invalid response status";
6327 state->error_pos = (const char*) p;
6328 state->_current = (void*) (intptr_t) s_error;
6333 s_n_llhttp__internal__n_invoke_update_status_code: {
6334 switch (llhttp__internal__c_update_status_code(state, p, endp)) {
6336 goto s_n_llhttp__internal__n_res_status_code;
6341 s_n_llhttp__internal__n_error_41: {
6343 state->reason = "Expected space after version";
6344 state->error_pos = (const char*) p;
6345 state->_current = (void*) (intptr_t) s_error;
6350 s_n_llhttp__internal__n_invoke_store_http_minor_1: {
6351 switch (llhttp__internal__c_store_http_minor(state, p, endp, match)) {
6353 goto s_n_llhttp__internal__n_res_http_end;
6358 s_n_llhttp__internal__n_error_42: {
6360 state->reason = "Invalid minor version";
6361 state->error_pos = (const char*) p;
6362 state->_current = (void*) (intptr_t) s_error;
6367 s_n_llhttp__internal__n_error_43: {
6369 state->reason = "Expected dot";
6370 state->error_pos = (const char*) p;
6371 state->_current = (void*) (intptr_t) s_error;
6376 s_n_llhttp__internal__n_invoke_store_http_major_1: {
6377 switch (llhttp__internal__c_store_http_major(state, p, endp, match)) {
6379 goto s_n_llhttp__internal__n_res_http_dot;
6384 s_n_llhttp__internal__n_error_44: {
6386 state->reason = "Invalid major version";
6387 state->error_pos = (const char*) p;
6388 state->_current = (void*) (intptr_t) s_error;
6393 s_n_llhttp__internal__n_error_47: {
6395 state->reason = "Expected HTTP/";
6396 state->error_pos = (const char*) p;
6397 state->_current = (void*) (intptr_t) s_error;
6402 s_n_llhttp__internal__n_invoke_update_type: {
6403 switch (llhttp__internal__c_update_type(state, p, endp)) {
6405 goto s_n_llhttp__internal__n_req_first_space_before_url;
6410 s_n_llhttp__internal__n_invoke_store_method: {
6411 switch (llhttp__internal__c_store_method(state, p, endp, match)) {
6413 goto s_n_llhttp__internal__n_invoke_update_type;
6418 s_n_llhttp__internal__n_error_45: {
6420 state->reason = "Invalid word encountered";
6421 state->error_pos = (const char*) p;
6422 state->_current = (void*) (intptr_t) s_error;
6427 s_n_llhttp__internal__n_invoke_update_type_1: {
6428 switch (llhttp__internal__c_update_type_1(state, p, endp)) {
6430 goto s_n_llhttp__internal__n_res_http_major;
6435 s_n_llhttp__internal__n_invoke_update_type_2: {
6436 switch (llhttp__internal__c_update_type(state, p, endp)) {
6438 goto s_n_llhttp__internal__n_start_req;
6443 s_n_llhttp__internal__n_pause_8: {
6444 state->error = 0x15;
6445 state->reason = "on_message_begin pause";
6446 state->error_pos = (const char*) p;
6447 state->_current = (void*) (intptr_t) s_n_llhttp__internal__n_invoke_load_type;
6452 s_n_llhttp__internal__n_error: {
6453 state->error = 0x10;
6454 state->reason = "`on_message_begin` callback error";
6455 state->error_pos = (const char*) p;
6456 state->_current = (void*) (intptr_t) s_error;
6461 s_n_llhttp__internal__n_invoke_llhttp__on_message_begin: {
6462 switch (llhttp__on_message_begin(state, p, endp)) {
6464 goto s_n_llhttp__internal__n_invoke_load_type;
6466 goto s_n_llhttp__internal__n_pause_8;
6468 goto s_n_llhttp__internal__n_error;
6473 s_n_llhttp__internal__n_invoke_update_finish: {
6474 switch (llhttp__internal__c_update_finish(state, p, endp)) {
6476 goto s_n_llhttp__internal__n_invoke_llhttp__on_message_begin;
6483 int llhttp__internal_execute(llhttp__internal_t* state, const char* p, const char* endp) {
6484 llparse_state_t next;
6486 /* check lingering errors */
6487 if (state->error != 0) {
6488 return state->error;
6492 if (state->_span_pos0 != NULL) {
6493 state->_span_pos0 = (void*) p;
6496 next = llhttp__internal__run(state, (const unsigned char*) p, (const unsigned char*) endp);
6497 if (next == s_error) {
6498 return state->error;
6500 state->_current = (void*) (intptr_t) next;
6503 if (state->_span_pos0 != NULL) {
6506 error = ((llhttp__internal__span_cb) state->_span_cb0)(state, state->_span_pos0, (const char*) endp);
6508 state->error = error;
6509 state->error_pos = endp;