pitchfork 0.13.0 → 0.14.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.github/workflows/ci.yml +6 -2
- data/.ruby-version +1 -0
- data/CHANGELOG.md +6 -0
- data/Dockerfile +1 -1
- data/Gemfile.lock +2 -4
- data/docs/CONFIGURATION.md +38 -0
- data/docs/MIGRATING_FROM_UNICORN.md +34 -0
- data/docs/WHY_MIGRATE.md +5 -0
- data/examples/pitchfork.conf.service.rb +27 -0
- data/exe/pitchfork +4 -4
- data/ext/pitchfork_http/extconf.rb +2 -0
- data/ext/pitchfork_http/memory_page.c +223 -0
- data/ext/pitchfork_http/pitchfork_http.c +213 -211
- data/ext/pitchfork_http/pitchfork_http.rl +3 -1
- data/lib/pitchfork/children.rb +20 -15
- data/lib/pitchfork/configurator.rb +12 -0
- data/lib/pitchfork/http_parser.rb +11 -66
- data/lib/pitchfork/http_response.rb +1 -1
- data/lib/pitchfork/http_server.rb +175 -59
- data/lib/pitchfork/message.rb +10 -6
- data/lib/pitchfork/shared_memory.rb +16 -14
- data/lib/pitchfork/socket_helper.rb +1 -1
- data/lib/pitchfork/version.rb +1 -1
- data/lib/pitchfork/worker.rb +43 -15
- data/lib/pitchfork.rb +0 -20
- data/pitchfork.gemspec +0 -1
- metadata +7 -18
- data/lib/pitchfork/app/old_rails/static.rb +0 -60
@@ -18,6 +18,7 @@
|
|
18
18
|
#include "child_subreaper.h"
|
19
19
|
|
20
20
|
void init_pitchfork_httpdate(void);
|
21
|
+
void init_pitchfork_memory_page(VALUE);
|
21
22
|
|
22
23
|
#define UH_FL_CHUNKED 0x1
|
23
24
|
#define UH_FL_HASBODY 0x2
|
@@ -314,12 +315,12 @@ static void write_value(VALUE self, struct http_parser *hp,
|
|
314
315
|
/** Machine **/
|
315
316
|
|
316
317
|
|
317
|
-
#line
|
318
|
+
#line 422 "pitchfork_http.rl"
|
318
319
|
|
319
320
|
|
320
321
|
/** Data **/
|
321
322
|
|
322
|
-
#line
|
323
|
+
#line 324 "pitchfork_http.c"
|
323
324
|
static const int http_parser_start = 1;
|
324
325
|
static const int http_parser_first_final = 122;
|
325
326
|
static const int http_parser_error = 0;
|
@@ -330,7 +331,7 @@ static const int http_parser_en_Trailers = 114;
|
|
330
331
|
static const int http_parser_en_main = 1;
|
331
332
|
|
332
333
|
|
333
|
-
#line
|
334
|
+
#line 426 "pitchfork_http.rl"
|
334
335
|
|
335
336
|
static void http_parser_init(struct http_parser *hp)
|
336
337
|
{
|
@@ -343,12 +344,12 @@ static void http_parser_init(struct http_parser *hp)
|
|
343
344
|
hp->len.content = 0;
|
344
345
|
hp->cont = Qfalse; /* zero on MRI, should be optimized away by above */
|
345
346
|
|
346
|
-
#line
|
347
|
+
#line 348 "pitchfork_http.c"
|
347
348
|
{
|
348
349
|
cs = http_parser_start;
|
349
350
|
}
|
350
351
|
|
351
|
-
#line
|
352
|
+
#line 438 "pitchfork_http.rl"
|
352
353
|
hp->cs = cs;
|
353
354
|
}
|
354
355
|
|
@@ -376,7 +377,7 @@ http_parser_execute(VALUE self, struct http_parser *hp, char *buffer, size_t len
|
|
376
377
|
goto skip_chunk_data_hack;
|
377
378
|
}
|
378
379
|
|
379
|
-
#line
|
380
|
+
#line 381 "pitchfork_http.c"
|
380
381
|
{
|
381
382
|
if ( p == pe )
|
382
383
|
goto _test_eof;
|
@@ -411,14 +412,14 @@ st0:
|
|
411
412
|
cs = 0;
|
412
413
|
goto _out;
|
413
414
|
tr0:
|
414
|
-
#line
|
415
|
+
#line 318 "pitchfork_http.rl"
|
415
416
|
{MARK(mark, p); }
|
416
417
|
goto st2;
|
417
418
|
st2:
|
418
419
|
if ( ++p == pe )
|
419
420
|
goto _test_eof2;
|
420
421
|
case 2:
|
421
|
-
#line
|
422
|
+
#line 423 "pitchfork_http.c"
|
422
423
|
switch( (*p) ) {
|
423
424
|
case 32: goto tr3;
|
424
425
|
case 33: goto st49;
|
@@ -444,14 +445,14 @@ case 2:
|
|
444
445
|
goto st49;
|
445
446
|
goto st0;
|
446
447
|
tr3:
|
447
|
-
#line
|
448
|
+
#line 327 "pitchfork_http.rl"
|
448
449
|
{ request_method(hp, PTR_TO(mark), LEN(mark, p)); }
|
449
450
|
goto st3;
|
450
451
|
st3:
|
451
452
|
if ( ++p == pe )
|
452
453
|
goto _test_eof3;
|
453
454
|
case 3:
|
454
|
-
#line
|
455
|
+
#line 456 "pitchfork_http.c"
|
455
456
|
switch( (*p) ) {
|
456
457
|
case 42: goto tr5;
|
457
458
|
case 47: goto tr6;
|
@@ -460,21 +461,21 @@ case 3:
|
|
460
461
|
}
|
461
462
|
goto st0;
|
462
463
|
tr5:
|
463
|
-
#line
|
464
|
+
#line 318 "pitchfork_http.rl"
|
464
465
|
{MARK(mark, p); }
|
465
466
|
goto st4;
|
466
467
|
st4:
|
467
468
|
if ( ++p == pe )
|
468
469
|
goto _test_eof4;
|
469
470
|
case 4:
|
470
|
-
#line
|
471
|
+
#line 472 "pitchfork_http.c"
|
471
472
|
switch( (*p) ) {
|
472
473
|
case 32: goto tr8;
|
473
474
|
case 35: goto tr9;
|
474
475
|
}
|
475
476
|
goto st0;
|
476
477
|
tr8:
|
477
|
-
#line
|
478
|
+
#line 332 "pitchfork_http.rl"
|
478
479
|
{
|
479
480
|
VALUE str;
|
480
481
|
|
@@ -492,23 +493,23 @@ tr8:
|
|
492
493
|
}
|
493
494
|
goto st5;
|
494
495
|
tr42:
|
495
|
-
#line
|
496
|
+
#line 318 "pitchfork_http.rl"
|
496
497
|
{MARK(mark, p); }
|
497
|
-
#line
|
498
|
+
#line 347 "pitchfork_http.rl"
|
498
499
|
{
|
499
500
|
VALIDATE_MAX_URI_LENGTH(LEN(mark, p), FRAGMENT);
|
500
501
|
rb_hash_aset(hp->env, g_fragment, STR_NEW(mark, p));
|
501
502
|
}
|
502
503
|
goto st5;
|
503
504
|
tr45:
|
504
|
-
#line
|
505
|
+
#line 347 "pitchfork_http.rl"
|
505
506
|
{
|
506
507
|
VALIDATE_MAX_URI_LENGTH(LEN(mark, p), FRAGMENT);
|
507
508
|
rb_hash_aset(hp->env, g_fragment, STR_NEW(mark, p));
|
508
509
|
}
|
509
510
|
goto st5;
|
510
511
|
tr49:
|
511
|
-
#line
|
512
|
+
#line 357 "pitchfork_http.rl"
|
512
513
|
{
|
513
514
|
VALUE val;
|
514
515
|
|
@@ -519,7 +520,7 @@ tr49:
|
|
519
520
|
if (!STR_CSTR_EQ(val, "*"))
|
520
521
|
rb_hash_aset(hp->env, g_path_info, val);
|
521
522
|
}
|
522
|
-
#line
|
523
|
+
#line 332 "pitchfork_http.rl"
|
523
524
|
{
|
524
525
|
VALUE str;
|
525
526
|
|
@@ -537,14 +538,14 @@ tr49:
|
|
537
538
|
}
|
538
539
|
goto st5;
|
539
540
|
tr55:
|
540
|
-
#line 350 "pitchfork_http.rl"
|
541
|
-
{MARK(start.query, p); }
|
542
541
|
#line 351 "pitchfork_http.rl"
|
542
|
+
{MARK(start.query, p); }
|
543
|
+
#line 352 "pitchfork_http.rl"
|
543
544
|
{
|
544
545
|
VALIDATE_MAX_URI_LENGTH(LEN(start.query, p), QUERY_STRING);
|
545
546
|
rb_hash_aset(hp->env, g_query_string, STR_NEW(start.query, p));
|
546
547
|
}
|
547
|
-
#line
|
548
|
+
#line 332 "pitchfork_http.rl"
|
548
549
|
{
|
549
550
|
VALUE str;
|
550
551
|
|
@@ -562,12 +563,12 @@ tr55:
|
|
562
563
|
}
|
563
564
|
goto st5;
|
564
565
|
tr59:
|
565
|
-
#line
|
566
|
+
#line 352 "pitchfork_http.rl"
|
566
567
|
{
|
567
568
|
VALIDATE_MAX_URI_LENGTH(LEN(start.query, p), QUERY_STRING);
|
568
569
|
rb_hash_aset(hp->env, g_query_string, STR_NEW(start.query, p));
|
569
570
|
}
|
570
|
-
#line
|
571
|
+
#line 332 "pitchfork_http.rl"
|
571
572
|
{
|
572
573
|
VALUE str;
|
573
574
|
|
@@ -588,19 +589,19 @@ st5:
|
|
588
589
|
if ( ++p == pe )
|
589
590
|
goto _test_eof5;
|
590
591
|
case 5:
|
591
|
-
#line
|
592
|
+
#line 593 "pitchfork_http.c"
|
592
593
|
if ( (*p) == 72 )
|
593
594
|
goto tr10;
|
594
595
|
goto st0;
|
595
596
|
tr10:
|
596
|
-
#line
|
597
|
+
#line 318 "pitchfork_http.rl"
|
597
598
|
{MARK(mark, p); }
|
598
599
|
goto st6;
|
599
600
|
st6:
|
600
601
|
if ( ++p == pe )
|
601
602
|
goto _test_eof6;
|
602
603
|
case 6:
|
603
|
-
#line
|
604
|
+
#line 605 "pitchfork_http.c"
|
604
605
|
if ( (*p) == 84 )
|
605
606
|
goto st7;
|
606
607
|
goto st0;
|
@@ -660,34 +661,34 @@ case 13:
|
|
660
661
|
goto st13;
|
661
662
|
goto st0;
|
662
663
|
tr18:
|
663
|
-
#line
|
664
|
+
#line 356 "pitchfork_http.rl"
|
664
665
|
{ http_version(hp, PTR_TO(mark), LEN(mark, p)); }
|
665
666
|
goto st14;
|
666
667
|
tr26:
|
667
|
-
#line
|
668
|
+
#line 324 "pitchfork_http.rl"
|
668
669
|
{ MARK(mark, p); }
|
669
|
-
#line
|
670
|
+
#line 326 "pitchfork_http.rl"
|
670
671
|
{ write_cont_value(hp, buffer, p); }
|
671
672
|
goto st14;
|
672
673
|
tr29:
|
673
|
-
#line
|
674
|
+
#line 326 "pitchfork_http.rl"
|
674
675
|
{ write_cont_value(hp, buffer, p); }
|
675
676
|
goto st14;
|
676
677
|
tr36:
|
677
|
-
#line 323 "pitchfork_http.rl"
|
678
|
-
{ MARK(mark, p); }
|
679
678
|
#line 324 "pitchfork_http.rl"
|
679
|
+
{ MARK(mark, p); }
|
680
|
+
#line 325 "pitchfork_http.rl"
|
680
681
|
{ write_value(self, hp, buffer, p); }
|
681
682
|
goto st14;
|
682
683
|
tr39:
|
683
|
-
#line
|
684
|
+
#line 325 "pitchfork_http.rl"
|
684
685
|
{ write_value(self, hp, buffer, p); }
|
685
686
|
goto st14;
|
686
687
|
st14:
|
687
688
|
if ( ++p == pe )
|
688
689
|
goto _test_eof14;
|
689
690
|
case 14:
|
690
|
-
#line
|
691
|
+
#line 692 "pitchfork_http.c"
|
691
692
|
switch( (*p) ) {
|
692
693
|
case 9: goto st15;
|
693
694
|
case 10: goto tr21;
|
@@ -716,14 +717,14 @@ case 14:
|
|
716
717
|
goto tr23;
|
717
718
|
goto st0;
|
718
719
|
tr25:
|
719
|
-
#line
|
720
|
+
#line 324 "pitchfork_http.rl"
|
720
721
|
{ MARK(mark, p); }
|
721
722
|
goto st15;
|
722
723
|
st15:
|
723
724
|
if ( ++p == pe )
|
724
725
|
goto _test_eof15;
|
725
726
|
case 15:
|
726
|
-
#line
|
727
|
+
#line 728 "pitchfork_http.c"
|
727
728
|
switch( (*p) ) {
|
728
729
|
case 9: goto tr25;
|
729
730
|
case 10: goto tr26;
|
@@ -735,14 +736,14 @@ case 15:
|
|
735
736
|
goto st0;
|
736
737
|
goto tr24;
|
737
738
|
tr24:
|
738
|
-
#line
|
739
|
+
#line 324 "pitchfork_http.rl"
|
739
740
|
{ MARK(mark, p); }
|
740
741
|
goto st16;
|
741
742
|
st16:
|
742
743
|
if ( ++p == pe )
|
743
744
|
goto _test_eof16;
|
744
745
|
case 16:
|
745
|
-
#line
|
746
|
+
#line 747 "pitchfork_http.c"
|
746
747
|
switch( (*p) ) {
|
747
748
|
case 10: goto tr29;
|
748
749
|
case 13: goto tr30;
|
@@ -755,39 +756,39 @@ case 16:
|
|
755
756
|
goto st0;
|
756
757
|
goto st16;
|
757
758
|
tr19:
|
758
|
-
#line
|
759
|
+
#line 356 "pitchfork_http.rl"
|
759
760
|
{ http_version(hp, PTR_TO(mark), LEN(mark, p)); }
|
760
761
|
goto st17;
|
761
762
|
tr27:
|
762
|
-
#line
|
763
|
+
#line 324 "pitchfork_http.rl"
|
763
764
|
{ MARK(mark, p); }
|
764
|
-
#line
|
765
|
+
#line 326 "pitchfork_http.rl"
|
765
766
|
{ write_cont_value(hp, buffer, p); }
|
766
767
|
goto st17;
|
767
768
|
tr30:
|
768
|
-
#line
|
769
|
+
#line 326 "pitchfork_http.rl"
|
769
770
|
{ write_cont_value(hp, buffer, p); }
|
770
771
|
goto st17;
|
771
772
|
tr37:
|
772
|
-
#line 323 "pitchfork_http.rl"
|
773
|
-
{ MARK(mark, p); }
|
774
773
|
#line 324 "pitchfork_http.rl"
|
774
|
+
{ MARK(mark, p); }
|
775
|
+
#line 325 "pitchfork_http.rl"
|
775
776
|
{ write_value(self, hp, buffer, p); }
|
776
777
|
goto st17;
|
777
778
|
tr40:
|
778
|
-
#line
|
779
|
+
#line 325 "pitchfork_http.rl"
|
779
780
|
{ write_value(self, hp, buffer, p); }
|
780
781
|
goto st17;
|
781
782
|
st17:
|
782
783
|
if ( ++p == pe )
|
783
784
|
goto _test_eof17;
|
784
785
|
case 17:
|
785
|
-
#line
|
786
|
+
#line 787 "pitchfork_http.c"
|
786
787
|
if ( (*p) == 10 )
|
787
788
|
goto st14;
|
788
789
|
goto st0;
|
789
790
|
tr21:
|
790
|
-
#line
|
791
|
+
#line 372 "pitchfork_http.rl"
|
791
792
|
{
|
792
793
|
finalize_header(hp);
|
793
794
|
|
@@ -808,7 +809,7 @@ tr21:
|
|
808
809
|
}
|
809
810
|
goto st122;
|
810
811
|
tr104:
|
811
|
-
#line
|
812
|
+
#line 332 "pitchfork_http.rl"
|
812
813
|
{
|
813
814
|
VALUE str;
|
814
815
|
|
@@ -824,7 +825,7 @@ tr104:
|
|
824
825
|
rb_hash_aset(hp->env, g_request_path, str);
|
825
826
|
}
|
826
827
|
}
|
827
|
-
#line
|
828
|
+
#line 372 "pitchfork_http.rl"
|
828
829
|
{
|
829
830
|
finalize_header(hp);
|
830
831
|
|
@@ -845,14 +846,14 @@ tr104:
|
|
845
846
|
}
|
846
847
|
goto st122;
|
847
848
|
tr108:
|
848
|
-
#line
|
849
|
+
#line 318 "pitchfork_http.rl"
|
849
850
|
{MARK(mark, p); }
|
850
|
-
#line
|
851
|
+
#line 347 "pitchfork_http.rl"
|
851
852
|
{
|
852
853
|
VALIDATE_MAX_URI_LENGTH(LEN(mark, p), FRAGMENT);
|
853
854
|
rb_hash_aset(hp->env, g_fragment, STR_NEW(mark, p));
|
854
855
|
}
|
855
|
-
#line
|
856
|
+
#line 372 "pitchfork_http.rl"
|
856
857
|
{
|
857
858
|
finalize_header(hp);
|
858
859
|
|
@@ -873,12 +874,12 @@ tr108:
|
|
873
874
|
}
|
874
875
|
goto st122;
|
875
876
|
tr112:
|
876
|
-
#line
|
877
|
+
#line 347 "pitchfork_http.rl"
|
877
878
|
{
|
878
879
|
VALIDATE_MAX_URI_LENGTH(LEN(mark, p), FRAGMENT);
|
879
880
|
rb_hash_aset(hp->env, g_fragment, STR_NEW(mark, p));
|
880
881
|
}
|
881
|
-
#line
|
882
|
+
#line 372 "pitchfork_http.rl"
|
882
883
|
{
|
883
884
|
finalize_header(hp);
|
884
885
|
|
@@ -899,7 +900,7 @@ tr112:
|
|
899
900
|
}
|
900
901
|
goto st122;
|
901
902
|
tr117:
|
902
|
-
#line
|
903
|
+
#line 357 "pitchfork_http.rl"
|
903
904
|
{
|
904
905
|
VALUE val;
|
905
906
|
|
@@ -910,7 +911,7 @@ tr117:
|
|
910
911
|
if (!STR_CSTR_EQ(val, "*"))
|
911
912
|
rb_hash_aset(hp->env, g_path_info, val);
|
912
913
|
}
|
913
|
-
#line
|
914
|
+
#line 332 "pitchfork_http.rl"
|
914
915
|
{
|
915
916
|
VALUE str;
|
916
917
|
|
@@ -926,7 +927,7 @@ tr117:
|
|
926
927
|
rb_hash_aset(hp->env, g_request_path, str);
|
927
928
|
}
|
928
929
|
}
|
929
|
-
#line
|
930
|
+
#line 372 "pitchfork_http.rl"
|
930
931
|
{
|
931
932
|
finalize_header(hp);
|
932
933
|
|
@@ -947,14 +948,14 @@ tr117:
|
|
947
948
|
}
|
948
949
|
goto st122;
|
949
950
|
tr124:
|
950
|
-
#line 350 "pitchfork_http.rl"
|
951
|
-
{MARK(start.query, p); }
|
952
951
|
#line 351 "pitchfork_http.rl"
|
952
|
+
{MARK(start.query, p); }
|
953
|
+
#line 352 "pitchfork_http.rl"
|
953
954
|
{
|
954
955
|
VALIDATE_MAX_URI_LENGTH(LEN(start.query, p), QUERY_STRING);
|
955
956
|
rb_hash_aset(hp->env, g_query_string, STR_NEW(start.query, p));
|
956
957
|
}
|
957
|
-
#line
|
958
|
+
#line 332 "pitchfork_http.rl"
|
958
959
|
{
|
959
960
|
VALUE str;
|
960
961
|
|
@@ -970,7 +971,7 @@ tr124:
|
|
970
971
|
rb_hash_aset(hp->env, g_request_path, str);
|
971
972
|
}
|
972
973
|
}
|
973
|
-
#line
|
974
|
+
#line 372 "pitchfork_http.rl"
|
974
975
|
{
|
975
976
|
finalize_header(hp);
|
976
977
|
|
@@ -991,12 +992,12 @@ tr124:
|
|
991
992
|
}
|
992
993
|
goto st122;
|
993
994
|
tr129:
|
994
|
-
#line
|
995
|
+
#line 352 "pitchfork_http.rl"
|
995
996
|
{
|
996
997
|
VALIDATE_MAX_URI_LENGTH(LEN(start.query, p), QUERY_STRING);
|
997
998
|
rb_hash_aset(hp->env, g_query_string, STR_NEW(start.query, p));
|
998
999
|
}
|
999
|
-
#line
|
1000
|
+
#line 332 "pitchfork_http.rl"
|
1000
1001
|
{
|
1001
1002
|
VALUE str;
|
1002
1003
|
|
@@ -1012,7 +1013,7 @@ tr129:
|
|
1012
1013
|
rb_hash_aset(hp->env, g_request_path, str);
|
1013
1014
|
}
|
1014
1015
|
}
|
1015
|
-
#line
|
1016
|
+
#line 372 "pitchfork_http.rl"
|
1016
1017
|
{
|
1017
1018
|
finalize_header(hp);
|
1018
1019
|
|
@@ -1036,10 +1037,10 @@ st122:
|
|
1036
1037
|
if ( ++p == pe )
|
1037
1038
|
goto _test_eof122;
|
1038
1039
|
case 122:
|
1039
|
-
#line
|
1040
|
+
#line 1041 "pitchfork_http.c"
|
1040
1041
|
goto st0;
|
1041
1042
|
tr105:
|
1042
|
-
#line
|
1043
|
+
#line 332 "pitchfork_http.rl"
|
1043
1044
|
{
|
1044
1045
|
VALUE str;
|
1045
1046
|
|
@@ -1057,23 +1058,23 @@ tr105:
|
|
1057
1058
|
}
|
1058
1059
|
goto st18;
|
1059
1060
|
tr109:
|
1060
|
-
#line
|
1061
|
+
#line 318 "pitchfork_http.rl"
|
1061
1062
|
{MARK(mark, p); }
|
1062
|
-
#line
|
1063
|
+
#line 347 "pitchfork_http.rl"
|
1063
1064
|
{
|
1064
1065
|
VALIDATE_MAX_URI_LENGTH(LEN(mark, p), FRAGMENT);
|
1065
1066
|
rb_hash_aset(hp->env, g_fragment, STR_NEW(mark, p));
|
1066
1067
|
}
|
1067
1068
|
goto st18;
|
1068
1069
|
tr113:
|
1069
|
-
#line
|
1070
|
+
#line 347 "pitchfork_http.rl"
|
1070
1071
|
{
|
1071
1072
|
VALIDATE_MAX_URI_LENGTH(LEN(mark, p), FRAGMENT);
|
1072
1073
|
rb_hash_aset(hp->env, g_fragment, STR_NEW(mark, p));
|
1073
1074
|
}
|
1074
1075
|
goto st18;
|
1075
1076
|
tr118:
|
1076
|
-
#line
|
1077
|
+
#line 357 "pitchfork_http.rl"
|
1077
1078
|
{
|
1078
1079
|
VALUE val;
|
1079
1080
|
|
@@ -1084,7 +1085,7 @@ tr118:
|
|
1084
1085
|
if (!STR_CSTR_EQ(val, "*"))
|
1085
1086
|
rb_hash_aset(hp->env, g_path_info, val);
|
1086
1087
|
}
|
1087
|
-
#line
|
1088
|
+
#line 332 "pitchfork_http.rl"
|
1088
1089
|
{
|
1089
1090
|
VALUE str;
|
1090
1091
|
|
@@ -1102,14 +1103,14 @@ tr118:
|
|
1102
1103
|
}
|
1103
1104
|
goto st18;
|
1104
1105
|
tr125:
|
1105
|
-
#line 350 "pitchfork_http.rl"
|
1106
|
-
{MARK(start.query, p); }
|
1107
1106
|
#line 351 "pitchfork_http.rl"
|
1107
|
+
{MARK(start.query, p); }
|
1108
|
+
#line 352 "pitchfork_http.rl"
|
1108
1109
|
{
|
1109
1110
|
VALIDATE_MAX_URI_LENGTH(LEN(start.query, p), QUERY_STRING);
|
1110
1111
|
rb_hash_aset(hp->env, g_query_string, STR_NEW(start.query, p));
|
1111
1112
|
}
|
1112
|
-
#line
|
1113
|
+
#line 332 "pitchfork_http.rl"
|
1113
1114
|
{
|
1114
1115
|
VALUE str;
|
1115
1116
|
|
@@ -1127,12 +1128,12 @@ tr125:
|
|
1127
1128
|
}
|
1128
1129
|
goto st18;
|
1129
1130
|
tr130:
|
1130
|
-
#line
|
1131
|
+
#line 352 "pitchfork_http.rl"
|
1131
1132
|
{
|
1132
1133
|
VALIDATE_MAX_URI_LENGTH(LEN(start.query, p), QUERY_STRING);
|
1133
1134
|
rb_hash_aset(hp->env, g_query_string, STR_NEW(start.query, p));
|
1134
1135
|
}
|
1135
|
-
#line
|
1136
|
+
#line 332 "pitchfork_http.rl"
|
1136
1137
|
{
|
1137
1138
|
VALUE str;
|
1138
1139
|
|
@@ -1153,25 +1154,25 @@ st18:
|
|
1153
1154
|
if ( ++p == pe )
|
1154
1155
|
goto _test_eof18;
|
1155
1156
|
case 18:
|
1156
|
-
#line
|
1157
|
+
#line 1158 "pitchfork_http.c"
|
1157
1158
|
if ( (*p) == 10 )
|
1158
1159
|
goto tr21;
|
1159
1160
|
goto st0;
|
1160
1161
|
tr23:
|
1161
|
-
#line 319 "pitchfork_http.rl"
|
1162
|
-
{ MARK(start.field, p); }
|
1163
1162
|
#line 320 "pitchfork_http.rl"
|
1163
|
+
{ MARK(start.field, p); }
|
1164
|
+
#line 321 "pitchfork_http.rl"
|
1164
1165
|
{ snake_upcase_char(deconst(p)); }
|
1165
1166
|
goto st19;
|
1166
1167
|
tr32:
|
1167
|
-
#line
|
1168
|
+
#line 321 "pitchfork_http.rl"
|
1168
1169
|
{ snake_upcase_char(deconst(p)); }
|
1169
1170
|
goto st19;
|
1170
1171
|
st19:
|
1171
1172
|
if ( ++p == pe )
|
1172
1173
|
goto _test_eof19;
|
1173
1174
|
case 19:
|
1174
|
-
#line
|
1175
|
+
#line 1176 "pitchfork_http.c"
|
1175
1176
|
switch( (*p) ) {
|
1176
1177
|
case 33: goto tr32;
|
1177
1178
|
case 58: goto tr33;
|
@@ -1197,18 +1198,18 @@ case 19:
|
|
1197
1198
|
goto tr32;
|
1198
1199
|
goto st0;
|
1199
1200
|
tr35:
|
1200
|
-
#line
|
1201
|
+
#line 324 "pitchfork_http.rl"
|
1201
1202
|
{ MARK(mark, p); }
|
1202
1203
|
goto st20;
|
1203
1204
|
tr33:
|
1204
|
-
#line
|
1205
|
+
#line 323 "pitchfork_http.rl"
|
1205
1206
|
{ hp->s.field_len = LEN(start.field, p); }
|
1206
1207
|
goto st20;
|
1207
1208
|
st20:
|
1208
1209
|
if ( ++p == pe )
|
1209
1210
|
goto _test_eof20;
|
1210
1211
|
case 20:
|
1211
|
-
#line
|
1212
|
+
#line 1213 "pitchfork_http.c"
|
1212
1213
|
switch( (*p) ) {
|
1213
1214
|
case 9: goto tr35;
|
1214
1215
|
case 10: goto tr36;
|
@@ -1220,14 +1221,14 @@ case 20:
|
|
1220
1221
|
goto st0;
|
1221
1222
|
goto tr34;
|
1222
1223
|
tr34:
|
1223
|
-
#line
|
1224
|
+
#line 324 "pitchfork_http.rl"
|
1224
1225
|
{ MARK(mark, p); }
|
1225
1226
|
goto st21;
|
1226
1227
|
st21:
|
1227
1228
|
if ( ++p == pe )
|
1228
1229
|
goto _test_eof21;
|
1229
1230
|
case 21:
|
1230
|
-
#line
|
1231
|
+
#line 1232 "pitchfork_http.c"
|
1231
1232
|
switch( (*p) ) {
|
1232
1233
|
case 10: goto tr39;
|
1233
1234
|
case 13: goto tr40;
|
@@ -1240,7 +1241,7 @@ case 21:
|
|
1240
1241
|
goto st0;
|
1241
1242
|
goto st21;
|
1242
1243
|
tr9:
|
1243
|
-
#line
|
1244
|
+
#line 332 "pitchfork_http.rl"
|
1244
1245
|
{
|
1245
1246
|
VALUE str;
|
1246
1247
|
|
@@ -1258,7 +1259,7 @@ tr9:
|
|
1258
1259
|
}
|
1259
1260
|
goto st22;
|
1260
1261
|
tr50:
|
1261
|
-
#line
|
1262
|
+
#line 357 "pitchfork_http.rl"
|
1262
1263
|
{
|
1263
1264
|
VALUE val;
|
1264
1265
|
|
@@ -1269,7 +1270,7 @@ tr50:
|
|
1269
1270
|
if (!STR_CSTR_EQ(val, "*"))
|
1270
1271
|
rb_hash_aset(hp->env, g_path_info, val);
|
1271
1272
|
}
|
1272
|
-
#line
|
1273
|
+
#line 332 "pitchfork_http.rl"
|
1273
1274
|
{
|
1274
1275
|
VALUE str;
|
1275
1276
|
|
@@ -1287,14 +1288,14 @@ tr50:
|
|
1287
1288
|
}
|
1288
1289
|
goto st22;
|
1289
1290
|
tr56:
|
1290
|
-
#line 350 "pitchfork_http.rl"
|
1291
|
-
{MARK(start.query, p); }
|
1292
1291
|
#line 351 "pitchfork_http.rl"
|
1292
|
+
{MARK(start.query, p); }
|
1293
|
+
#line 352 "pitchfork_http.rl"
|
1293
1294
|
{
|
1294
1295
|
VALIDATE_MAX_URI_LENGTH(LEN(start.query, p), QUERY_STRING);
|
1295
1296
|
rb_hash_aset(hp->env, g_query_string, STR_NEW(start.query, p));
|
1296
1297
|
}
|
1297
|
-
#line
|
1298
|
+
#line 332 "pitchfork_http.rl"
|
1298
1299
|
{
|
1299
1300
|
VALUE str;
|
1300
1301
|
|
@@ -1312,12 +1313,12 @@ tr56:
|
|
1312
1313
|
}
|
1313
1314
|
goto st22;
|
1314
1315
|
tr60:
|
1315
|
-
#line
|
1316
|
+
#line 352 "pitchfork_http.rl"
|
1316
1317
|
{
|
1317
1318
|
VALIDATE_MAX_URI_LENGTH(LEN(start.query, p), QUERY_STRING);
|
1318
1319
|
rb_hash_aset(hp->env, g_query_string, STR_NEW(start.query, p));
|
1319
1320
|
}
|
1320
|
-
#line
|
1321
|
+
#line 332 "pitchfork_http.rl"
|
1321
1322
|
{
|
1322
1323
|
VALUE str;
|
1323
1324
|
|
@@ -1338,7 +1339,7 @@ st22:
|
|
1338
1339
|
if ( ++p == pe )
|
1339
1340
|
goto _test_eof22;
|
1340
1341
|
case 22:
|
1341
|
-
#line
|
1342
|
+
#line 1343 "pitchfork_http.c"
|
1342
1343
|
switch( (*p) ) {
|
1343
1344
|
case 32: goto tr42;
|
1344
1345
|
case 35: goto st0;
|
@@ -1349,14 +1350,14 @@ case 22:
|
|
1349
1350
|
goto st0;
|
1350
1351
|
goto tr41;
|
1351
1352
|
tr41:
|
1352
|
-
#line
|
1353
|
+
#line 318 "pitchfork_http.rl"
|
1353
1354
|
{MARK(mark, p); }
|
1354
1355
|
goto st23;
|
1355
1356
|
st23:
|
1356
1357
|
if ( ++p == pe )
|
1357
1358
|
goto _test_eof23;
|
1358
1359
|
case 23:
|
1359
|
-
#line
|
1360
|
+
#line 1361 "pitchfork_http.c"
|
1360
1361
|
switch( (*p) ) {
|
1361
1362
|
case 32: goto tr45;
|
1362
1363
|
case 35: goto st0;
|
@@ -1367,14 +1368,14 @@ case 23:
|
|
1367
1368
|
goto st0;
|
1368
1369
|
goto st23;
|
1369
1370
|
tr43:
|
1370
|
-
#line
|
1371
|
+
#line 318 "pitchfork_http.rl"
|
1371
1372
|
{MARK(mark, p); }
|
1372
1373
|
goto st24;
|
1373
1374
|
st24:
|
1374
1375
|
if ( ++p == pe )
|
1375
1376
|
goto _test_eof24;
|
1376
1377
|
case 24:
|
1377
|
-
#line
|
1378
|
+
#line 1379 "pitchfork_http.c"
|
1378
1379
|
if ( (*p) < 65 ) {
|
1379
1380
|
if ( 48 <= (*p) && (*p) <= 57 )
|
1380
1381
|
goto st25;
|
@@ -1398,20 +1399,20 @@ case 25:
|
|
1398
1399
|
goto st23;
|
1399
1400
|
goto st0;
|
1400
1401
|
tr6:
|
1401
|
-
#line
|
1402
|
+
#line 318 "pitchfork_http.rl"
|
1402
1403
|
{MARK(mark, p); }
|
1403
1404
|
goto st26;
|
1404
1405
|
tr76:
|
1405
|
-
#line
|
1406
|
+
#line 331 "pitchfork_http.rl"
|
1406
1407
|
{ rb_hash_aset(hp->env, g_http_host, STR_NEW(mark, p)); }
|
1407
|
-
#line
|
1408
|
+
#line 318 "pitchfork_http.rl"
|
1408
1409
|
{MARK(mark, p); }
|
1409
1410
|
goto st26;
|
1410
1411
|
st26:
|
1411
1412
|
if ( ++p == pe )
|
1412
1413
|
goto _test_eof26;
|
1413
1414
|
case 26:
|
1414
|
-
#line
|
1415
|
+
#line 1416 "pitchfork_http.c"
|
1415
1416
|
switch( (*p) ) {
|
1416
1417
|
case 32: goto tr49;
|
1417
1418
|
case 35: goto tr50;
|
@@ -1449,7 +1450,7 @@ case 28:
|
|
1449
1450
|
goto st26;
|
1450
1451
|
goto st0;
|
1451
1452
|
tr52:
|
1452
|
-
#line
|
1453
|
+
#line 357 "pitchfork_http.rl"
|
1453
1454
|
{
|
1454
1455
|
VALUE val;
|
1455
1456
|
|
@@ -1465,7 +1466,7 @@ st29:
|
|
1465
1466
|
if ( ++p == pe )
|
1466
1467
|
goto _test_eof29;
|
1467
1468
|
case 29:
|
1468
|
-
#line
|
1469
|
+
#line 1470 "pitchfork_http.c"
|
1469
1470
|
switch( (*p) ) {
|
1470
1471
|
case 32: goto tr55;
|
1471
1472
|
case 35: goto tr56;
|
@@ -1476,14 +1477,14 @@ case 29:
|
|
1476
1477
|
goto st0;
|
1477
1478
|
goto tr54;
|
1478
1479
|
tr54:
|
1479
|
-
#line
|
1480
|
+
#line 351 "pitchfork_http.rl"
|
1480
1481
|
{MARK(start.query, p); }
|
1481
1482
|
goto st30;
|
1482
1483
|
st30:
|
1483
1484
|
if ( ++p == pe )
|
1484
1485
|
goto _test_eof30;
|
1485
1486
|
case 30:
|
1486
|
-
#line
|
1487
|
+
#line 1488 "pitchfork_http.c"
|
1487
1488
|
switch( (*p) ) {
|
1488
1489
|
case 32: goto tr59;
|
1489
1490
|
case 35: goto tr60;
|
@@ -1494,14 +1495,14 @@ case 30:
|
|
1494
1495
|
goto st0;
|
1495
1496
|
goto st30;
|
1496
1497
|
tr57:
|
1497
|
-
#line
|
1498
|
+
#line 351 "pitchfork_http.rl"
|
1498
1499
|
{MARK(start.query, p); }
|
1499
1500
|
goto st31;
|
1500
1501
|
st31:
|
1501
1502
|
if ( ++p == pe )
|
1502
1503
|
goto _test_eof31;
|
1503
1504
|
case 31:
|
1504
|
-
#line
|
1505
|
+
#line 1506 "pitchfork_http.c"
|
1505
1506
|
if ( (*p) < 65 ) {
|
1506
1507
|
if ( 48 <= (*p) && (*p) <= 57 )
|
1507
1508
|
goto st32;
|
@@ -1525,58 +1526,58 @@ case 32:
|
|
1525
1526
|
goto st30;
|
1526
1527
|
goto st0;
|
1527
1528
|
tr7:
|
1528
|
-
#line
|
1529
|
+
#line 318 "pitchfork_http.rl"
|
1529
1530
|
{MARK(mark, p); }
|
1530
|
-
#line
|
1531
|
+
#line 322 "pitchfork_http.rl"
|
1531
1532
|
{ downcase_char(deconst(p)); }
|
1532
1533
|
goto st33;
|
1533
1534
|
st33:
|
1534
1535
|
if ( ++p == pe )
|
1535
1536
|
goto _test_eof33;
|
1536
1537
|
case 33:
|
1537
|
-
#line
|
1538
|
+
#line 1539 "pitchfork_http.c"
|
1538
1539
|
switch( (*p) ) {
|
1539
1540
|
case 84: goto tr63;
|
1540
1541
|
case 116: goto tr63;
|
1541
1542
|
}
|
1542
1543
|
goto st0;
|
1543
1544
|
tr63:
|
1544
|
-
#line
|
1545
|
+
#line 322 "pitchfork_http.rl"
|
1545
1546
|
{ downcase_char(deconst(p)); }
|
1546
1547
|
goto st34;
|
1547
1548
|
st34:
|
1548
1549
|
if ( ++p == pe )
|
1549
1550
|
goto _test_eof34;
|
1550
1551
|
case 34:
|
1551
|
-
#line
|
1552
|
+
#line 1553 "pitchfork_http.c"
|
1552
1553
|
switch( (*p) ) {
|
1553
1554
|
case 84: goto tr64;
|
1554
1555
|
case 116: goto tr64;
|
1555
1556
|
}
|
1556
1557
|
goto st0;
|
1557
1558
|
tr64:
|
1558
|
-
#line
|
1559
|
+
#line 322 "pitchfork_http.rl"
|
1559
1560
|
{ downcase_char(deconst(p)); }
|
1560
1561
|
goto st35;
|
1561
1562
|
st35:
|
1562
1563
|
if ( ++p == pe )
|
1563
1564
|
goto _test_eof35;
|
1564
1565
|
case 35:
|
1565
|
-
#line
|
1566
|
+
#line 1567 "pitchfork_http.c"
|
1566
1567
|
switch( (*p) ) {
|
1567
1568
|
case 80: goto tr65;
|
1568
1569
|
case 112: goto tr65;
|
1569
1570
|
}
|
1570
1571
|
goto st0;
|
1571
1572
|
tr65:
|
1572
|
-
#line
|
1573
|
+
#line 322 "pitchfork_http.rl"
|
1573
1574
|
{ downcase_char(deconst(p)); }
|
1574
1575
|
goto st36;
|
1575
1576
|
st36:
|
1576
1577
|
if ( ++p == pe )
|
1577
1578
|
goto _test_eof36;
|
1578
1579
|
case 36:
|
1579
|
-
#line
|
1580
|
+
#line 1581 "pitchfork_http.c"
|
1580
1581
|
switch( (*p) ) {
|
1581
1582
|
case 58: goto tr66;
|
1582
1583
|
case 83: goto tr67;
|
@@ -1584,7 +1585,7 @@ case 36:
|
|
1584
1585
|
}
|
1585
1586
|
goto st0;
|
1586
1587
|
tr66:
|
1587
|
-
#line
|
1588
|
+
#line 328 "pitchfork_http.rl"
|
1588
1589
|
{
|
1589
1590
|
rb_hash_aset(hp->env, g_rack_url_scheme, STR_NEW(mark, p));
|
1590
1591
|
}
|
@@ -1593,7 +1594,7 @@ st37:
|
|
1593
1594
|
if ( ++p == pe )
|
1594
1595
|
goto _test_eof37;
|
1595
1596
|
case 37:
|
1596
|
-
#line
|
1597
|
+
#line 1598 "pitchfork_http.c"
|
1597
1598
|
if ( (*p) == 47 )
|
1598
1599
|
goto st38;
|
1599
1600
|
goto st0;
|
@@ -1681,14 +1682,14 @@ case 42:
|
|
1681
1682
|
goto st40;
|
1682
1683
|
goto st0;
|
1683
1684
|
tr72:
|
1684
|
-
#line
|
1685
|
+
#line 318 "pitchfork_http.rl"
|
1685
1686
|
{MARK(mark, p); }
|
1686
1687
|
goto st43;
|
1687
1688
|
st43:
|
1688
1689
|
if ( ++p == pe )
|
1689
1690
|
goto _test_eof43;
|
1690
1691
|
case 43:
|
1691
|
-
#line
|
1692
|
+
#line 1693 "pitchfork_http.c"
|
1692
1693
|
switch( (*p) ) {
|
1693
1694
|
case 37: goto st41;
|
1694
1695
|
case 47: goto tr76;
|
@@ -1740,14 +1741,14 @@ case 44:
|
|
1740
1741
|
goto st0;
|
1741
1742
|
goto st40;
|
1742
1743
|
tr73:
|
1743
|
-
#line
|
1744
|
+
#line 318 "pitchfork_http.rl"
|
1744
1745
|
{MARK(mark, p); }
|
1745
1746
|
goto st45;
|
1746
1747
|
st45:
|
1747
1748
|
if ( ++p == pe )
|
1748
1749
|
goto _test_eof45;
|
1749
1750
|
case 45:
|
1750
|
-
#line
|
1751
|
+
#line 1752 "pitchfork_http.c"
|
1751
1752
|
switch( (*p) ) {
|
1752
1753
|
case 37: goto st41;
|
1753
1754
|
case 47: goto st0;
|
@@ -1825,14 +1826,14 @@ case 47:
|
|
1825
1826
|
goto st0;
|
1826
1827
|
goto st40;
|
1827
1828
|
tr67:
|
1828
|
-
#line
|
1829
|
+
#line 322 "pitchfork_http.rl"
|
1829
1830
|
{ downcase_char(deconst(p)); }
|
1830
1831
|
goto st48;
|
1831
1832
|
st48:
|
1832
1833
|
if ( ++p == pe )
|
1833
1834
|
goto _test_eof48;
|
1834
1835
|
case 48:
|
1835
|
-
#line
|
1836
|
+
#line 1837 "pitchfork_http.c"
|
1836
1837
|
if ( (*p) == 58 )
|
1837
1838
|
goto tr66;
|
1838
1839
|
goto st0;
|
@@ -2348,14 +2349,14 @@ case 67:
|
|
2348
2349
|
goto tr3;
|
2349
2350
|
goto st0;
|
2350
2351
|
tr2:
|
2351
|
-
#line
|
2352
|
+
#line 318 "pitchfork_http.rl"
|
2352
2353
|
{MARK(mark, p); }
|
2353
2354
|
goto st68;
|
2354
2355
|
st68:
|
2355
2356
|
if ( ++p == pe )
|
2356
2357
|
goto _test_eof68;
|
2357
2358
|
case 68:
|
2358
|
-
#line
|
2359
|
+
#line 2360 "pitchfork_http.c"
|
2359
2360
|
switch( (*p) ) {
|
2360
2361
|
case 32: goto tr3;
|
2361
2362
|
case 33: goto st49;
|
@@ -2439,14 +2440,14 @@ case 70:
|
|
2439
2440
|
goto st51;
|
2440
2441
|
goto st0;
|
2441
2442
|
tr100:
|
2442
|
-
#line
|
2443
|
+
#line 327 "pitchfork_http.rl"
|
2443
2444
|
{ request_method(hp, PTR_TO(mark), LEN(mark, p)); }
|
2444
2445
|
goto st71;
|
2445
2446
|
st71:
|
2446
2447
|
if ( ++p == pe )
|
2447
2448
|
goto _test_eof71;
|
2448
2449
|
case 71:
|
2449
|
-
#line
|
2450
|
+
#line 2451 "pitchfork_http.c"
|
2450
2451
|
switch( (*p) ) {
|
2451
2452
|
case 42: goto tr101;
|
2452
2453
|
case 47: goto tr102;
|
@@ -2455,14 +2456,14 @@ case 71:
|
|
2455
2456
|
}
|
2456
2457
|
goto st0;
|
2457
2458
|
tr101:
|
2458
|
-
#line
|
2459
|
+
#line 318 "pitchfork_http.rl"
|
2459
2460
|
{MARK(mark, p); }
|
2460
2461
|
goto st72;
|
2461
2462
|
st72:
|
2462
2463
|
if ( ++p == pe )
|
2463
2464
|
goto _test_eof72;
|
2464
2465
|
case 72:
|
2465
|
-
#line
|
2466
|
+
#line 2467 "pitchfork_http.c"
|
2466
2467
|
switch( (*p) ) {
|
2467
2468
|
case 10: goto tr104;
|
2468
2469
|
case 13: goto tr105;
|
@@ -2471,7 +2472,7 @@ case 72:
|
|
2471
2472
|
}
|
2472
2473
|
goto st0;
|
2473
2474
|
tr106:
|
2474
|
-
#line
|
2475
|
+
#line 332 "pitchfork_http.rl"
|
2475
2476
|
{
|
2476
2477
|
VALUE str;
|
2477
2478
|
|
@@ -2489,7 +2490,7 @@ tr106:
|
|
2489
2490
|
}
|
2490
2491
|
goto st73;
|
2491
2492
|
tr119:
|
2492
|
-
#line
|
2493
|
+
#line 357 "pitchfork_http.rl"
|
2493
2494
|
{
|
2494
2495
|
VALUE val;
|
2495
2496
|
|
@@ -2500,7 +2501,7 @@ tr119:
|
|
2500
2501
|
if (!STR_CSTR_EQ(val, "*"))
|
2501
2502
|
rb_hash_aset(hp->env, g_path_info, val);
|
2502
2503
|
}
|
2503
|
-
#line
|
2504
|
+
#line 332 "pitchfork_http.rl"
|
2504
2505
|
{
|
2505
2506
|
VALUE str;
|
2506
2507
|
|
@@ -2518,14 +2519,14 @@ tr119:
|
|
2518
2519
|
}
|
2519
2520
|
goto st73;
|
2520
2521
|
tr126:
|
2521
|
-
#line 350 "pitchfork_http.rl"
|
2522
|
-
{MARK(start.query, p); }
|
2523
2522
|
#line 351 "pitchfork_http.rl"
|
2523
|
+
{MARK(start.query, p); }
|
2524
|
+
#line 352 "pitchfork_http.rl"
|
2524
2525
|
{
|
2525
2526
|
VALIDATE_MAX_URI_LENGTH(LEN(start.query, p), QUERY_STRING);
|
2526
2527
|
rb_hash_aset(hp->env, g_query_string, STR_NEW(start.query, p));
|
2527
2528
|
}
|
2528
|
-
#line
|
2529
|
+
#line 332 "pitchfork_http.rl"
|
2529
2530
|
{
|
2530
2531
|
VALUE str;
|
2531
2532
|
|
@@ -2543,12 +2544,12 @@ tr126:
|
|
2543
2544
|
}
|
2544
2545
|
goto st73;
|
2545
2546
|
tr131:
|
2546
|
-
#line
|
2547
|
+
#line 352 "pitchfork_http.rl"
|
2547
2548
|
{
|
2548
2549
|
VALIDATE_MAX_URI_LENGTH(LEN(start.query, p), QUERY_STRING);
|
2549
2550
|
rb_hash_aset(hp->env, g_query_string, STR_NEW(start.query, p));
|
2550
2551
|
}
|
2551
|
-
#line
|
2552
|
+
#line 332 "pitchfork_http.rl"
|
2552
2553
|
{
|
2553
2554
|
VALUE str;
|
2554
2555
|
|
@@ -2569,7 +2570,7 @@ st73:
|
|
2569
2570
|
if ( ++p == pe )
|
2570
2571
|
goto _test_eof73;
|
2571
2572
|
case 73:
|
2572
|
-
#line
|
2573
|
+
#line 2574 "pitchfork_http.c"
|
2573
2574
|
switch( (*p) ) {
|
2574
2575
|
case 10: goto tr108;
|
2575
2576
|
case 13: goto tr109;
|
@@ -2582,14 +2583,14 @@ case 73:
|
|
2582
2583
|
goto st0;
|
2583
2584
|
goto tr107;
|
2584
2585
|
tr107:
|
2585
|
-
#line
|
2586
|
+
#line 318 "pitchfork_http.rl"
|
2586
2587
|
{MARK(mark, p); }
|
2587
2588
|
goto st74;
|
2588
2589
|
st74:
|
2589
2590
|
if ( ++p == pe )
|
2590
2591
|
goto _test_eof74;
|
2591
2592
|
case 74:
|
2592
|
-
#line
|
2593
|
+
#line 2594 "pitchfork_http.c"
|
2593
2594
|
switch( (*p) ) {
|
2594
2595
|
case 10: goto tr112;
|
2595
2596
|
case 13: goto tr113;
|
@@ -2602,14 +2603,14 @@ case 74:
|
|
2602
2603
|
goto st0;
|
2603
2604
|
goto st74;
|
2604
2605
|
tr110:
|
2605
|
-
#line
|
2606
|
+
#line 318 "pitchfork_http.rl"
|
2606
2607
|
{MARK(mark, p); }
|
2607
2608
|
goto st75;
|
2608
2609
|
st75:
|
2609
2610
|
if ( ++p == pe )
|
2610
2611
|
goto _test_eof75;
|
2611
2612
|
case 75:
|
2612
|
-
#line
|
2613
|
+
#line 2614 "pitchfork_http.c"
|
2613
2614
|
if ( (*p) < 65 ) {
|
2614
2615
|
if ( 48 <= (*p) && (*p) <= 57 )
|
2615
2616
|
goto st76;
|
@@ -2633,20 +2634,20 @@ case 76:
|
|
2633
2634
|
goto st74;
|
2634
2635
|
goto st0;
|
2635
2636
|
tr102:
|
2636
|
-
#line
|
2637
|
+
#line 318 "pitchfork_http.rl"
|
2637
2638
|
{MARK(mark, p); }
|
2638
2639
|
goto st77;
|
2639
2640
|
tr147:
|
2640
|
-
#line
|
2641
|
+
#line 331 "pitchfork_http.rl"
|
2641
2642
|
{ rb_hash_aset(hp->env, g_http_host, STR_NEW(mark, p)); }
|
2642
|
-
#line
|
2643
|
+
#line 318 "pitchfork_http.rl"
|
2643
2644
|
{MARK(mark, p); }
|
2644
2645
|
goto st77;
|
2645
2646
|
st77:
|
2646
2647
|
if ( ++p == pe )
|
2647
2648
|
goto _test_eof77;
|
2648
2649
|
case 77:
|
2649
|
-
#line
|
2650
|
+
#line 2651 "pitchfork_http.c"
|
2650
2651
|
switch( (*p) ) {
|
2651
2652
|
case 10: goto tr117;
|
2652
2653
|
case 13: goto tr118;
|
@@ -2686,7 +2687,7 @@ case 79:
|
|
2686
2687
|
goto st77;
|
2687
2688
|
goto st0;
|
2688
2689
|
tr121:
|
2689
|
-
#line
|
2690
|
+
#line 357 "pitchfork_http.rl"
|
2690
2691
|
{
|
2691
2692
|
VALUE val;
|
2692
2693
|
|
@@ -2702,7 +2703,7 @@ st80:
|
|
2702
2703
|
if ( ++p == pe )
|
2703
2704
|
goto _test_eof80;
|
2704
2705
|
case 80:
|
2705
|
-
#line
|
2706
|
+
#line 2707 "pitchfork_http.c"
|
2706
2707
|
switch( (*p) ) {
|
2707
2708
|
case 10: goto tr124;
|
2708
2709
|
case 13: goto tr125;
|
@@ -2715,14 +2716,14 @@ case 80:
|
|
2715
2716
|
goto st0;
|
2716
2717
|
goto tr123;
|
2717
2718
|
tr123:
|
2718
|
-
#line
|
2719
|
+
#line 351 "pitchfork_http.rl"
|
2719
2720
|
{MARK(start.query, p); }
|
2720
2721
|
goto st81;
|
2721
2722
|
st81:
|
2722
2723
|
if ( ++p == pe )
|
2723
2724
|
goto _test_eof81;
|
2724
2725
|
case 81:
|
2725
|
-
#line
|
2726
|
+
#line 2727 "pitchfork_http.c"
|
2726
2727
|
switch( (*p) ) {
|
2727
2728
|
case 10: goto tr129;
|
2728
2729
|
case 13: goto tr130;
|
@@ -2735,14 +2736,14 @@ case 81:
|
|
2735
2736
|
goto st0;
|
2736
2737
|
goto st81;
|
2737
2738
|
tr127:
|
2738
|
-
#line
|
2739
|
+
#line 351 "pitchfork_http.rl"
|
2739
2740
|
{MARK(start.query, p); }
|
2740
2741
|
goto st82;
|
2741
2742
|
st82:
|
2742
2743
|
if ( ++p == pe )
|
2743
2744
|
goto _test_eof82;
|
2744
2745
|
case 82:
|
2745
|
-
#line
|
2746
|
+
#line 2747 "pitchfork_http.c"
|
2746
2747
|
if ( (*p) < 65 ) {
|
2747
2748
|
if ( 48 <= (*p) && (*p) <= 57 )
|
2748
2749
|
goto st83;
|
@@ -2766,58 +2767,58 @@ case 83:
|
|
2766
2767
|
goto st81;
|
2767
2768
|
goto st0;
|
2768
2769
|
tr103:
|
2769
|
-
#line
|
2770
|
+
#line 318 "pitchfork_http.rl"
|
2770
2771
|
{MARK(mark, p); }
|
2771
|
-
#line
|
2772
|
+
#line 322 "pitchfork_http.rl"
|
2772
2773
|
{ downcase_char(deconst(p)); }
|
2773
2774
|
goto st84;
|
2774
2775
|
st84:
|
2775
2776
|
if ( ++p == pe )
|
2776
2777
|
goto _test_eof84;
|
2777
2778
|
case 84:
|
2778
|
-
#line
|
2779
|
+
#line 2780 "pitchfork_http.c"
|
2779
2780
|
switch( (*p) ) {
|
2780
2781
|
case 84: goto tr134;
|
2781
2782
|
case 116: goto tr134;
|
2782
2783
|
}
|
2783
2784
|
goto st0;
|
2784
2785
|
tr134:
|
2785
|
-
#line
|
2786
|
+
#line 322 "pitchfork_http.rl"
|
2786
2787
|
{ downcase_char(deconst(p)); }
|
2787
2788
|
goto st85;
|
2788
2789
|
st85:
|
2789
2790
|
if ( ++p == pe )
|
2790
2791
|
goto _test_eof85;
|
2791
2792
|
case 85:
|
2792
|
-
#line
|
2793
|
+
#line 2794 "pitchfork_http.c"
|
2793
2794
|
switch( (*p) ) {
|
2794
2795
|
case 84: goto tr135;
|
2795
2796
|
case 116: goto tr135;
|
2796
2797
|
}
|
2797
2798
|
goto st0;
|
2798
2799
|
tr135:
|
2799
|
-
#line
|
2800
|
+
#line 322 "pitchfork_http.rl"
|
2800
2801
|
{ downcase_char(deconst(p)); }
|
2801
2802
|
goto st86;
|
2802
2803
|
st86:
|
2803
2804
|
if ( ++p == pe )
|
2804
2805
|
goto _test_eof86;
|
2805
2806
|
case 86:
|
2806
|
-
#line
|
2807
|
+
#line 2808 "pitchfork_http.c"
|
2807
2808
|
switch( (*p) ) {
|
2808
2809
|
case 80: goto tr136;
|
2809
2810
|
case 112: goto tr136;
|
2810
2811
|
}
|
2811
2812
|
goto st0;
|
2812
2813
|
tr136:
|
2813
|
-
#line
|
2814
|
+
#line 322 "pitchfork_http.rl"
|
2814
2815
|
{ downcase_char(deconst(p)); }
|
2815
2816
|
goto st87;
|
2816
2817
|
st87:
|
2817
2818
|
if ( ++p == pe )
|
2818
2819
|
goto _test_eof87;
|
2819
2820
|
case 87:
|
2820
|
-
#line
|
2821
|
+
#line 2822 "pitchfork_http.c"
|
2821
2822
|
switch( (*p) ) {
|
2822
2823
|
case 58: goto tr137;
|
2823
2824
|
case 83: goto tr138;
|
@@ -2825,7 +2826,7 @@ case 87:
|
|
2825
2826
|
}
|
2826
2827
|
goto st0;
|
2827
2828
|
tr137:
|
2828
|
-
#line
|
2829
|
+
#line 328 "pitchfork_http.rl"
|
2829
2830
|
{
|
2830
2831
|
rb_hash_aset(hp->env, g_rack_url_scheme, STR_NEW(mark, p));
|
2831
2832
|
}
|
@@ -2834,7 +2835,7 @@ st88:
|
|
2834
2835
|
if ( ++p == pe )
|
2835
2836
|
goto _test_eof88;
|
2836
2837
|
case 88:
|
2837
|
-
#line
|
2838
|
+
#line 2839 "pitchfork_http.c"
|
2838
2839
|
if ( (*p) == 47 )
|
2839
2840
|
goto st89;
|
2840
2841
|
goto st0;
|
@@ -2922,14 +2923,14 @@ case 93:
|
|
2922
2923
|
goto st91;
|
2923
2924
|
goto st0;
|
2924
2925
|
tr143:
|
2925
|
-
#line
|
2926
|
+
#line 318 "pitchfork_http.rl"
|
2926
2927
|
{MARK(mark, p); }
|
2927
2928
|
goto st94;
|
2928
2929
|
st94:
|
2929
2930
|
if ( ++p == pe )
|
2930
2931
|
goto _test_eof94;
|
2931
2932
|
case 94:
|
2932
|
-
#line
|
2933
|
+
#line 2934 "pitchfork_http.c"
|
2933
2934
|
switch( (*p) ) {
|
2934
2935
|
case 37: goto st92;
|
2935
2936
|
case 47: goto tr147;
|
@@ -2981,14 +2982,14 @@ case 95:
|
|
2981
2982
|
goto st0;
|
2982
2983
|
goto st91;
|
2983
2984
|
tr144:
|
2984
|
-
#line
|
2985
|
+
#line 318 "pitchfork_http.rl"
|
2985
2986
|
{MARK(mark, p); }
|
2986
2987
|
goto st96;
|
2987
2988
|
st96:
|
2988
2989
|
if ( ++p == pe )
|
2989
2990
|
goto _test_eof96;
|
2990
2991
|
case 96:
|
2991
|
-
#line
|
2992
|
+
#line 2993 "pitchfork_http.c"
|
2992
2993
|
switch( (*p) ) {
|
2993
2994
|
case 37: goto st92;
|
2994
2995
|
case 47: goto st0;
|
@@ -3066,14 +3067,14 @@ case 98:
|
|
3066
3067
|
goto st0;
|
3067
3068
|
goto st91;
|
3068
3069
|
tr138:
|
3069
|
-
#line
|
3070
|
+
#line 322 "pitchfork_http.rl"
|
3070
3071
|
{ downcase_char(deconst(p)); }
|
3071
3072
|
goto st99;
|
3072
3073
|
st99:
|
3073
3074
|
if ( ++p == pe )
|
3074
3075
|
goto _test_eof99;
|
3075
3076
|
case 99:
|
3076
|
-
#line
|
3077
|
+
#line 3078 "pitchfork_http.c"
|
3077
3078
|
if ( (*p) == 58 )
|
3078
3079
|
goto tr137;
|
3079
3080
|
goto st0;
|
@@ -3093,7 +3094,7 @@ case 100:
|
|
3093
3094
|
goto tr152;
|
3094
3095
|
goto st0;
|
3095
3096
|
tr151:
|
3096
|
-
#line
|
3097
|
+
#line 367 "pitchfork_http.rl"
|
3097
3098
|
{
|
3098
3099
|
hp->len.chunk = step_incr(hp->len.chunk, (*p), 16);
|
3099
3100
|
if (hp->len.chunk < 0)
|
@@ -3104,7 +3105,7 @@ st101:
|
|
3104
3105
|
if ( ++p == pe )
|
3105
3106
|
goto _test_eof101;
|
3106
3107
|
case 101:
|
3107
|
-
#line
|
3108
|
+
#line 3109 "pitchfork_http.c"
|
3108
3109
|
switch( (*p) ) {
|
3109
3110
|
case 10: goto tr153;
|
3110
3111
|
case 13: goto st102;
|
@@ -3121,7 +3122,7 @@ case 101:
|
|
3121
3122
|
goto tr152;
|
3122
3123
|
goto st0;
|
3123
3124
|
tr153:
|
3124
|
-
#line
|
3125
|
+
#line 396 "pitchfork_http.rl"
|
3125
3126
|
{
|
3126
3127
|
HP_FL_SET(hp, INTRAILER);
|
3127
3128
|
cs = http_parser_en_Trailers;
|
@@ -3134,7 +3135,7 @@ st123:
|
|
3134
3135
|
if ( ++p == pe )
|
3135
3136
|
goto _test_eof123;
|
3136
3137
|
case 123:
|
3137
|
-
#line
|
3138
|
+
#line 3139 "pitchfork_http.c"
|
3138
3139
|
goto st0;
|
3139
3140
|
st102:
|
3140
3141
|
if ( ++p == pe )
|
@@ -3144,7 +3145,7 @@ case 102:
|
|
3144
3145
|
goto tr153;
|
3145
3146
|
goto st0;
|
3146
3147
|
tr152:
|
3147
|
-
#line
|
3148
|
+
#line 367 "pitchfork_http.rl"
|
3148
3149
|
{
|
3149
3150
|
hp->len.chunk = step_incr(hp->len.chunk, (*p), 16);
|
3150
3151
|
if (hp->len.chunk < 0)
|
@@ -3155,7 +3156,7 @@ st103:
|
|
3155
3156
|
if ( ++p == pe )
|
3156
3157
|
goto _test_eof103;
|
3157
3158
|
case 103:
|
3158
|
-
#line
|
3159
|
+
#line 3160 "pitchfork_http.c"
|
3159
3160
|
switch( (*p) ) {
|
3160
3161
|
case 10: goto st104;
|
3161
3162
|
case 13: goto st107;
|
@@ -3176,7 +3177,7 @@ st104:
|
|
3176
3177
|
case 104:
|
3177
3178
|
goto tr159;
|
3178
3179
|
tr159:
|
3179
|
-
#line
|
3180
|
+
#line 404 "pitchfork_http.rl"
|
3180
3181
|
{
|
3181
3182
|
skip_chunk_data_hack: {
|
3182
3183
|
size_t nr = MIN((size_t)hp->len.chunk, REMAINING);
|
@@ -3198,7 +3199,7 @@ st105:
|
|
3198
3199
|
if ( ++p == pe )
|
3199
3200
|
goto _test_eof105;
|
3200
3201
|
case 105:
|
3201
|
-
#line
|
3202
|
+
#line 3203 "pitchfork_http.c"
|
3202
3203
|
switch( (*p) ) {
|
3203
3204
|
case 10: goto st100;
|
3204
3205
|
case 13: goto st106;
|
@@ -3405,30 +3406,30 @@ case 113:
|
|
3405
3406
|
goto st113;
|
3406
3407
|
goto st0;
|
3407
3408
|
tr172:
|
3408
|
-
#line
|
3409
|
+
#line 324 "pitchfork_http.rl"
|
3409
3410
|
{ MARK(mark, p); }
|
3410
|
-
#line
|
3411
|
+
#line 326 "pitchfork_http.rl"
|
3411
3412
|
{ write_cont_value(hp, buffer, p); }
|
3412
3413
|
goto st114;
|
3413
3414
|
tr175:
|
3414
|
-
#line
|
3415
|
+
#line 326 "pitchfork_http.rl"
|
3415
3416
|
{ write_cont_value(hp, buffer, p); }
|
3416
3417
|
goto st114;
|
3417
3418
|
tr182:
|
3418
|
-
#line 323 "pitchfork_http.rl"
|
3419
|
-
{ MARK(mark, p); }
|
3420
3419
|
#line 324 "pitchfork_http.rl"
|
3420
|
+
{ MARK(mark, p); }
|
3421
|
+
#line 325 "pitchfork_http.rl"
|
3421
3422
|
{ write_value(self, hp, buffer, p); }
|
3422
3423
|
goto st114;
|
3423
3424
|
tr185:
|
3424
|
-
#line
|
3425
|
+
#line 325 "pitchfork_http.rl"
|
3425
3426
|
{ write_value(self, hp, buffer, p); }
|
3426
3427
|
goto st114;
|
3427
3428
|
st114:
|
3428
3429
|
if ( ++p == pe )
|
3429
3430
|
goto _test_eof114;
|
3430
3431
|
case 114:
|
3431
|
-
#line
|
3432
|
+
#line 3433 "pitchfork_http.c"
|
3432
3433
|
switch( (*p) ) {
|
3433
3434
|
case 9: goto st115;
|
3434
3435
|
case 10: goto tr167;
|
@@ -3457,14 +3458,14 @@ case 114:
|
|
3457
3458
|
goto tr169;
|
3458
3459
|
goto st0;
|
3459
3460
|
tr171:
|
3460
|
-
#line
|
3461
|
+
#line 324 "pitchfork_http.rl"
|
3461
3462
|
{ MARK(mark, p); }
|
3462
3463
|
goto st115;
|
3463
3464
|
st115:
|
3464
3465
|
if ( ++p == pe )
|
3465
3466
|
goto _test_eof115;
|
3466
3467
|
case 115:
|
3467
|
-
#line
|
3468
|
+
#line 3469 "pitchfork_http.c"
|
3468
3469
|
switch( (*p) ) {
|
3469
3470
|
case 9: goto tr171;
|
3470
3471
|
case 10: goto tr172;
|
@@ -3476,14 +3477,14 @@ case 115:
|
|
3476
3477
|
goto st0;
|
3477
3478
|
goto tr170;
|
3478
3479
|
tr170:
|
3479
|
-
#line
|
3480
|
+
#line 324 "pitchfork_http.rl"
|
3480
3481
|
{ MARK(mark, p); }
|
3481
3482
|
goto st116;
|
3482
3483
|
st116:
|
3483
3484
|
if ( ++p == pe )
|
3484
3485
|
goto _test_eof116;
|
3485
3486
|
case 116:
|
3486
|
-
#line
|
3487
|
+
#line 3488 "pitchfork_http.c"
|
3487
3488
|
switch( (*p) ) {
|
3488
3489
|
case 10: goto tr175;
|
3489
3490
|
case 13: goto tr176;
|
@@ -3496,35 +3497,35 @@ case 116:
|
|
3496
3497
|
goto st0;
|
3497
3498
|
goto st116;
|
3498
3499
|
tr173:
|
3499
|
-
#line
|
3500
|
+
#line 324 "pitchfork_http.rl"
|
3500
3501
|
{ MARK(mark, p); }
|
3501
|
-
#line
|
3502
|
+
#line 326 "pitchfork_http.rl"
|
3502
3503
|
{ write_cont_value(hp, buffer, p); }
|
3503
3504
|
goto st117;
|
3504
3505
|
tr176:
|
3505
|
-
#line
|
3506
|
+
#line 326 "pitchfork_http.rl"
|
3506
3507
|
{ write_cont_value(hp, buffer, p); }
|
3507
3508
|
goto st117;
|
3508
3509
|
tr183:
|
3509
|
-
#line 323 "pitchfork_http.rl"
|
3510
|
-
{ MARK(mark, p); }
|
3511
3510
|
#line 324 "pitchfork_http.rl"
|
3511
|
+
{ MARK(mark, p); }
|
3512
|
+
#line 325 "pitchfork_http.rl"
|
3512
3513
|
{ write_value(self, hp, buffer, p); }
|
3513
3514
|
goto st117;
|
3514
3515
|
tr186:
|
3515
|
-
#line
|
3516
|
+
#line 325 "pitchfork_http.rl"
|
3516
3517
|
{ write_value(self, hp, buffer, p); }
|
3517
3518
|
goto st117;
|
3518
3519
|
st117:
|
3519
3520
|
if ( ++p == pe )
|
3520
3521
|
goto _test_eof117;
|
3521
3522
|
case 117:
|
3522
|
-
#line
|
3523
|
+
#line 3524 "pitchfork_http.c"
|
3523
3524
|
if ( (*p) == 10 )
|
3524
3525
|
goto st114;
|
3525
3526
|
goto st0;
|
3526
3527
|
tr167:
|
3527
|
-
#line
|
3528
|
+
#line 391 "pitchfork_http.rl"
|
3528
3529
|
{
|
3529
3530
|
cs = http_parser_first_final;
|
3530
3531
|
goto post_exec;
|
@@ -3534,7 +3535,7 @@ st124:
|
|
3534
3535
|
if ( ++p == pe )
|
3535
3536
|
goto _test_eof124;
|
3536
3537
|
case 124:
|
3537
|
-
#line
|
3538
|
+
#line 3539 "pitchfork_http.c"
|
3538
3539
|
goto st0;
|
3539
3540
|
st118:
|
3540
3541
|
if ( ++p == pe )
|
@@ -3544,20 +3545,20 @@ case 118:
|
|
3544
3545
|
goto tr167;
|
3545
3546
|
goto st0;
|
3546
3547
|
tr169:
|
3547
|
-
#line 319 "pitchfork_http.rl"
|
3548
|
-
{ MARK(start.field, p); }
|
3549
3548
|
#line 320 "pitchfork_http.rl"
|
3549
|
+
{ MARK(start.field, p); }
|
3550
|
+
#line 321 "pitchfork_http.rl"
|
3550
3551
|
{ snake_upcase_char(deconst(p)); }
|
3551
3552
|
goto st119;
|
3552
3553
|
tr178:
|
3553
|
-
#line
|
3554
|
+
#line 321 "pitchfork_http.rl"
|
3554
3555
|
{ snake_upcase_char(deconst(p)); }
|
3555
3556
|
goto st119;
|
3556
3557
|
st119:
|
3557
3558
|
if ( ++p == pe )
|
3558
3559
|
goto _test_eof119;
|
3559
3560
|
case 119:
|
3560
|
-
#line
|
3561
|
+
#line 3562 "pitchfork_http.c"
|
3561
3562
|
switch( (*p) ) {
|
3562
3563
|
case 33: goto tr178;
|
3563
3564
|
case 58: goto tr179;
|
@@ -3583,18 +3584,18 @@ case 119:
|
|
3583
3584
|
goto tr178;
|
3584
3585
|
goto st0;
|
3585
3586
|
tr181:
|
3586
|
-
#line
|
3587
|
+
#line 324 "pitchfork_http.rl"
|
3587
3588
|
{ MARK(mark, p); }
|
3588
3589
|
goto st120;
|
3589
3590
|
tr179:
|
3590
|
-
#line
|
3591
|
+
#line 323 "pitchfork_http.rl"
|
3591
3592
|
{ hp->s.field_len = LEN(start.field, p); }
|
3592
3593
|
goto st120;
|
3593
3594
|
st120:
|
3594
3595
|
if ( ++p == pe )
|
3595
3596
|
goto _test_eof120;
|
3596
3597
|
case 120:
|
3597
|
-
#line
|
3598
|
+
#line 3599 "pitchfork_http.c"
|
3598
3599
|
switch( (*p) ) {
|
3599
3600
|
case 9: goto tr181;
|
3600
3601
|
case 10: goto tr182;
|
@@ -3606,14 +3607,14 @@ case 120:
|
|
3606
3607
|
goto st0;
|
3607
3608
|
goto tr180;
|
3608
3609
|
tr180:
|
3609
|
-
#line
|
3610
|
+
#line 324 "pitchfork_http.rl"
|
3610
3611
|
{ MARK(mark, p); }
|
3611
3612
|
goto st121;
|
3612
3613
|
st121:
|
3613
3614
|
if ( ++p == pe )
|
3614
3615
|
goto _test_eof121;
|
3615
3616
|
case 121:
|
3616
|
-
#line
|
3617
|
+
#line 3618 "pitchfork_http.c"
|
3617
3618
|
switch( (*p) ) {
|
3618
3619
|
case 10: goto tr185;
|
3619
3620
|
case 13: goto tr186;
|
@@ -3754,7 +3755,7 @@ case 121:
|
|
3754
3755
|
_out: {}
|
3755
3756
|
}
|
3756
3757
|
|
3757
|
-
#line
|
3758
|
+
#line 465 "pitchfork_http.rl"
|
3758
3759
|
post_exec: /* "_out:" also goes here */
|
3759
3760
|
if (hp->cs != http_parser_error)
|
3760
3761
|
hp->cs = cs;
|
@@ -4254,7 +4255,7 @@ static VALUE HttpParser_rssget(VALUE self)
|
|
4254
4255
|
assert(!NIL_P(var) && "missed global field"); \
|
4255
4256
|
} while (0)
|
4256
4257
|
|
4257
|
-
void Init_pitchfork_http(void)
|
4258
|
+
RUBY_FUNC_EXPORTED void Init_pitchfork_http(void)
|
4258
4259
|
{
|
4259
4260
|
VALUE mPitchfork;
|
4260
4261
|
|
@@ -4318,5 +4319,6 @@ void Init_pitchfork_http(void)
|
|
4318
4319
|
|
4319
4320
|
init_epollexclusive(mPitchfork);
|
4320
4321
|
init_child_subreaper(mPitchfork);
|
4322
|
+
init_pitchfork_memory_page(mPitchfork);
|
4321
4323
|
}
|
4322
4324
|
#undef SET_GLOBAL
|