pitchfork 0.12.0 → 0.14.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.github/workflows/ci.yml +7 -3
- data/.ruby-version +1 -0
- data/CHANGELOG.md +12 -0
- data/Dockerfile +1 -1
- data/Gemfile.lock +3 -5
- data/benchmark/README.md +1 -1
- data/benchmark/cow_benchmark.rb +1 -0
- data/docs/CONFIGURATION.md +39 -1
- data/docs/MIGRATING_FROM_UNICORN.md +34 -0
- data/docs/WHY_MIGRATE.md +5 -0
- data/examples/constant_caches.ru +1 -0
- data/examples/echo.ru +1 -0
- data/examples/hello.ru +1 -0
- data/examples/pitchfork.conf.minimal.rb +1 -0
- data/examples/pitchfork.conf.rb +1 -0
- data/examples/pitchfork.conf.service.rb +27 -0
- data/exe/pitchfork +5 -4
- data/ext/pitchfork_http/epollexclusive.h +2 -2
- data/ext/pitchfork_http/extconf.rb +3 -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 +21 -15
- data/lib/pitchfork/configurator.rb +13 -0
- data/lib/pitchfork/const.rb +1 -0
- data/lib/pitchfork/flock.rb +1 -0
- data/lib/pitchfork/http_parser.rb +18 -72
- data/lib/pitchfork/http_response.rb +4 -3
- data/lib/pitchfork/http_server.rb +181 -62
- data/lib/pitchfork/launcher.rb +1 -0
- data/lib/pitchfork/message.rb +11 -6
- data/lib/pitchfork/select_waiter.rb +1 -0
- data/lib/pitchfork/shared_memory.rb +16 -14
- data/lib/pitchfork/socket_helper.rb +2 -1
- data/lib/pitchfork/stream_input.rb +6 -5
- data/lib/pitchfork/tee_input.rb +3 -2
- data/lib/pitchfork/tmpio.rb +1 -0
- data/lib/pitchfork/version.rb +1 -1
- data/lib/pitchfork/worker.rb +44 -15
- data/lib/pitchfork.rb +1 -20
- data/pitchfork.gemspec +0 -1
- metadata +7 -18
- data/lib/pitchfork/app/old_rails/static.rb +0 -59
@@ -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
|