puma 3.8.2 → 4.0.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of puma might be problematic. Click here for more details.

Files changed (71) hide show
  1. checksums.yaml +5 -5
  2. data/History.md +157 -0
  3. data/README.md +155 -225
  4. data/docs/architecture.md +37 -0
  5. data/{DEPLOYMENT.md → docs/deployment.md} +24 -4
  6. data/docs/images/puma-connection-flow-no-reactor.png +0 -0
  7. data/docs/images/puma-connection-flow.png +0 -0
  8. data/docs/images/puma-general-arch.png +0 -0
  9. data/docs/plugins.md +28 -0
  10. data/docs/restart.md +41 -0
  11. data/docs/signals.md +56 -3
  12. data/docs/systemd.md +130 -37
  13. data/ext/puma_http11/PumaHttp11Service.java +2 -0
  14. data/ext/puma_http11/http11_parser.c +84 -84
  15. data/ext/puma_http11/http11_parser.rl +9 -9
  16. data/ext/puma_http11/mini_ssl.c +51 -9
  17. data/ext/puma_http11/org/jruby/puma/Http11Parser.java +13 -16
  18. data/ext/puma_http11/org/jruby/puma/IOBuffer.java +72 -0
  19. data/ext/puma_http11/org/jruby/puma/MiniSSL.java +26 -6
  20. data/lib/puma.rb +8 -0
  21. data/lib/puma/app/status.rb +9 -0
  22. data/lib/puma/binder.rb +31 -18
  23. data/lib/puma/cli.rb +22 -7
  24. data/lib/puma/client.rb +67 -18
  25. data/lib/puma/cluster.rb +64 -19
  26. data/lib/puma/commonlogger.rb +2 -0
  27. data/lib/puma/configuration.rb +22 -14
  28. data/lib/puma/const.rb +13 -2
  29. data/lib/puma/control_cli.rb +26 -14
  30. data/lib/puma/convenient.rb +2 -0
  31. data/lib/puma/daemon_ext.rb +2 -0
  32. data/lib/puma/delegation.rb +2 -0
  33. data/lib/puma/detect.rb +2 -0
  34. data/lib/puma/dsl.rb +91 -12
  35. data/lib/puma/events.rb +3 -2
  36. data/lib/puma/io_buffer.rb +3 -6
  37. data/lib/puma/jruby_restart.rb +2 -1
  38. data/lib/puma/launcher.rb +51 -30
  39. data/lib/puma/minissl.rb +79 -28
  40. data/lib/puma/null_io.rb +2 -0
  41. data/lib/puma/plugin.rb +2 -0
  42. data/lib/puma/plugin/tmp_restart.rb +0 -1
  43. data/lib/puma/rack/builder.rb +2 -1
  44. data/lib/puma/reactor.rb +218 -30
  45. data/lib/puma/runner.rb +17 -4
  46. data/lib/puma/server.rb +113 -49
  47. data/lib/puma/single.rb +16 -5
  48. data/lib/puma/state_file.rb +2 -0
  49. data/lib/puma/tcp_logger.rb +2 -0
  50. data/lib/puma/thread_pool.rb +59 -6
  51. data/lib/puma/util.rb +2 -6
  52. data/lib/rack/handler/puma.rb +13 -2
  53. data/tools/jungle/README.md +12 -2
  54. data/tools/jungle/init.d/README.md +2 -0
  55. data/tools/jungle/init.d/puma +7 -7
  56. data/tools/jungle/init.d/run-puma +1 -1
  57. data/tools/jungle/rc.d/README.md +74 -0
  58. data/tools/jungle/rc.d/puma +61 -0
  59. data/tools/jungle/rc.d/puma.conf +10 -0
  60. data/tools/trickletest.rb +1 -1
  61. metadata +25 -87
  62. data/.github/issue_template.md +0 -20
  63. data/Gemfile +0 -12
  64. data/Manifest.txt +0 -78
  65. data/Rakefile +0 -158
  66. data/Release.md +0 -9
  67. data/gemfiles/2.1-Gemfile +0 -12
  68. data/lib/puma/compat.rb +0 -14
  69. data/lib/puma/java_io_buffer.rb +0 -45
  70. data/lib/puma/rack/backports/uri/common_193.rb +0 -33
  71. data/puma.gemspec +0 -52
@@ -6,11 +6,13 @@ import org.jruby.Ruby;
6
6
  import org.jruby.runtime.load.BasicLibraryService;
7
7
 
8
8
  import org.jruby.puma.Http11;
9
+ import org.jruby.puma.IOBuffer;
9
10
  import org.jruby.puma.MiniSSL;
10
11
 
11
12
  public class PumaHttp11Service implements BasicLibraryService {
12
13
  public boolean basicLoad(final Ruby runtime) throws IOException {
13
14
  Http11.createHttp11(runtime);
15
+ IOBuffer.createIOBuffer(runtime);
14
16
  MiniSSL.createMiniSSL(runtime);
15
17
  return true;
16
18
  }
@@ -31,12 +31,12 @@ static void snake_upcase_char(char *c)
31
31
  /** Machine **/
32
32
 
33
33
 
34
- #line 78 "ext/puma_http11/http11_parser.rl"
34
+ #line 79 "ext/puma_http11/http11_parser.rl"
35
35
 
36
36
 
37
37
  /** Data **/
38
38
 
39
- #line 39 "ext/puma_http11/http11_parser.c"
39
+ #line 40 "ext/puma_http11/http11_parser.c"
40
40
  static const int puma_parser_start = 1;
41
41
  static const int puma_parser_first_final = 47;
42
42
  static const int puma_parser_error = 0;
@@ -44,17 +44,17 @@ static const int puma_parser_error = 0;
44
44
  static const int puma_parser_en_main = 1;
45
45
 
46
46
 
47
- #line 82 "ext/puma_http11/http11_parser.rl"
47
+ #line 83 "ext/puma_http11/http11_parser.rl"
48
48
 
49
49
  int puma_parser_init(puma_parser *parser) {
50
50
  int cs = 0;
51
51
 
52
- #line 52 "ext/puma_http11/http11_parser.c"
52
+ #line 53 "ext/puma_http11/http11_parser.c"
53
53
  {
54
54
  cs = puma_parser_start;
55
55
  }
56
56
 
57
- #line 86 "ext/puma_http11/http11_parser.rl"
57
+ #line 87 "ext/puma_http11/http11_parser.rl"
58
58
  parser->cs = cs;
59
59
  parser->body_start = 0;
60
60
  parser->content_len = 0;
@@ -80,10 +80,10 @@ size_t puma_parser_execute(puma_parser *parser, const char *buffer, size_t len,
80
80
  pe = buffer+len;
81
81
 
82
82
  /* assert(*pe == '\0' && "pointer does not end on NUL"); */
83
- assert(pe - p == len - off && "pointers aren't same distance");
83
+ assert((size_t) (pe - p) == len - off && "pointers aren't same distance");
84
84
 
85
85
 
86
- #line 86 "ext/puma_http11/http11_parser.c"
86
+ #line 87 "ext/puma_http11/http11_parser.c"
87
87
  {
88
88
  if ( p == pe )
89
89
  goto _test_eof;
@@ -107,14 +107,14 @@ st0:
107
107
  cs = 0;
108
108
  goto _out;
109
109
  tr0:
110
- #line 34 "ext/puma_http11/http11_parser.rl"
110
+ #line 35 "ext/puma_http11/http11_parser.rl"
111
111
  { MARK(mark, p); }
112
112
  goto st2;
113
113
  st2:
114
114
  if ( ++p == pe )
115
115
  goto _test_eof2;
116
116
  case 2:
117
- #line 117 "ext/puma_http11/http11_parser.c"
117
+ #line 118 "ext/puma_http11/http11_parser.c"
118
118
  switch( (*p) ) {
119
119
  case 32: goto tr2;
120
120
  case 36: goto st28;
@@ -130,8 +130,8 @@ case 2:
130
130
  goto st28;
131
131
  goto st0;
132
132
  tr2:
133
- #line 47 "ext/puma_http11/http11_parser.rl"
134
- {
133
+ #line 48 "ext/puma_http11/http11_parser.rl"
134
+ {
135
135
  parser->request_method(parser, PTR_TO(mark), LEN(mark, p));
136
136
  }
137
137
  goto st3;
@@ -139,7 +139,7 @@ st3:
139
139
  if ( ++p == pe )
140
140
  goto _test_eof3;
141
141
  case 3:
142
- #line 142 "ext/puma_http11/http11_parser.c"
142
+ #line 143 "ext/puma_http11/http11_parser.c"
143
143
  switch( (*p) ) {
144
144
  case 42: goto tr4;
145
145
  case 43: goto tr5;
@@ -156,68 +156,68 @@ case 3:
156
156
  goto tr5;
157
157
  goto st0;
158
158
  tr4:
159
- #line 34 "ext/puma_http11/http11_parser.rl"
159
+ #line 35 "ext/puma_http11/http11_parser.rl"
160
160
  { MARK(mark, p); }
161
161
  goto st4;
162
162
  st4:
163
163
  if ( ++p == pe )
164
164
  goto _test_eof4;
165
165
  case 4:
166
- #line 166 "ext/puma_http11/http11_parser.c"
166
+ #line 167 "ext/puma_http11/http11_parser.c"
167
167
  switch( (*p) ) {
168
168
  case 32: goto tr8;
169
169
  case 35: goto tr9;
170
170
  }
171
171
  goto st0;
172
172
  tr8:
173
- #line 50 "ext/puma_http11/http11_parser.rl"
174
- {
173
+ #line 51 "ext/puma_http11/http11_parser.rl"
174
+ {
175
175
  parser->request_uri(parser, PTR_TO(mark), LEN(mark, p));
176
176
  }
177
177
  goto st5;
178
178
  tr31:
179
- #line 34 "ext/puma_http11/http11_parser.rl"
179
+ #line 35 "ext/puma_http11/http11_parser.rl"
180
180
  { MARK(mark, p); }
181
- #line 53 "ext/puma_http11/http11_parser.rl"
181
+ #line 54 "ext/puma_http11/http11_parser.rl"
182
182
  {
183
183
  parser->fragment(parser, PTR_TO(mark), LEN(mark, p));
184
184
  }
185
185
  goto st5;
186
186
  tr33:
187
- #line 53 "ext/puma_http11/http11_parser.rl"
187
+ #line 54 "ext/puma_http11/http11_parser.rl"
188
188
  {
189
189
  parser->fragment(parser, PTR_TO(mark), LEN(mark, p));
190
190
  }
191
191
  goto st5;
192
192
  tr37:
193
- #line 66 "ext/puma_http11/http11_parser.rl"
193
+ #line 67 "ext/puma_http11/http11_parser.rl"
194
194
  {
195
195
  parser->request_path(parser, PTR_TO(mark), LEN(mark,p));
196
196
  }
197
- #line 50 "ext/puma_http11/http11_parser.rl"
198
- {
197
+ #line 51 "ext/puma_http11/http11_parser.rl"
198
+ {
199
199
  parser->request_uri(parser, PTR_TO(mark), LEN(mark, p));
200
200
  }
201
201
  goto st5;
202
202
  tr44:
203
- #line 57 "ext/puma_http11/http11_parser.rl"
204
- { MARK(query_start, p); }
205
203
  #line 58 "ext/puma_http11/http11_parser.rl"
206
- {
204
+ { MARK(query_start, p); }
205
+ #line 59 "ext/puma_http11/http11_parser.rl"
206
+ {
207
207
  parser->query_string(parser, PTR_TO(query_start), LEN(query_start, p));
208
208
  }
209
- #line 50 "ext/puma_http11/http11_parser.rl"
210
- {
209
+ #line 51 "ext/puma_http11/http11_parser.rl"
210
+ {
211
211
  parser->request_uri(parser, PTR_TO(mark), LEN(mark, p));
212
212
  }
213
213
  goto st5;
214
214
  tr47:
215
- #line 58 "ext/puma_http11/http11_parser.rl"
216
- {
215
+ #line 59 "ext/puma_http11/http11_parser.rl"
216
+ {
217
217
  parser->query_string(parser, PTR_TO(query_start), LEN(query_start, p));
218
218
  }
219
- #line 50 "ext/puma_http11/http11_parser.rl"
220
- {
219
+ #line 51 "ext/puma_http11/http11_parser.rl"
220
+ {
221
221
  parser->request_uri(parser, PTR_TO(mark), LEN(mark, p));
222
222
  }
223
223
  goto st5;
@@ -225,19 +225,19 @@ st5:
225
225
  if ( ++p == pe )
226
226
  goto _test_eof5;
227
227
  case 5:
228
- #line 228 "ext/puma_http11/http11_parser.c"
228
+ #line 229 "ext/puma_http11/http11_parser.c"
229
229
  if ( (*p) == 72 )
230
230
  goto tr10;
231
231
  goto st0;
232
232
  tr10:
233
- #line 34 "ext/puma_http11/http11_parser.rl"
233
+ #line 35 "ext/puma_http11/http11_parser.rl"
234
234
  { MARK(mark, p); }
235
235
  goto st6;
236
236
  st6:
237
237
  if ( ++p == pe )
238
238
  goto _test_eof6;
239
239
  case 6:
240
- #line 240 "ext/puma_http11/http11_parser.c"
240
+ #line 241 "ext/puma_http11/http11_parser.c"
241
241
  if ( (*p) == 84 )
242
242
  goto st7;
243
243
  goto st0;
@@ -295,21 +295,21 @@ case 13:
295
295
  goto st13;
296
296
  goto st0;
297
297
  tr18:
298
- #line 62 "ext/puma_http11/http11_parser.rl"
299
- {
298
+ #line 63 "ext/puma_http11/http11_parser.rl"
299
+ {
300
300
  parser->http_version(parser, PTR_TO(mark), LEN(mark, p));
301
301
  }
302
302
  goto st14;
303
303
  tr26:
304
- #line 43 "ext/puma_http11/http11_parser.rl"
305
- { MARK(mark, p); }
306
304
  #line 44 "ext/puma_http11/http11_parser.rl"
305
+ { MARK(mark, p); }
306
+ #line 45 "ext/puma_http11/http11_parser.rl"
307
307
  {
308
308
  parser->http_field(parser, PTR_TO(field_start), parser->field_len, PTR_TO(mark), LEN(mark, p));
309
309
  }
310
310
  goto st14;
311
311
  tr29:
312
- #line 44 "ext/puma_http11/http11_parser.rl"
312
+ #line 45 "ext/puma_http11/http11_parser.rl"
313
313
  {
314
314
  parser->http_field(parser, PTR_TO(field_start), parser->field_len, PTR_TO(mark), LEN(mark, p));
315
315
  }
@@ -318,7 +318,7 @@ st14:
318
318
  if ( ++p == pe )
319
319
  goto _test_eof14;
320
320
  case 14:
321
- #line 321 "ext/puma_http11/http11_parser.c"
321
+ #line 322 "ext/puma_http11/http11_parser.c"
322
322
  if ( (*p) == 10 )
323
323
  goto st15;
324
324
  goto st0;
@@ -358,9 +358,9 @@ case 16:
358
358
  goto tr22;
359
359
  goto st0;
360
360
  tr22:
361
- #line 70 "ext/puma_http11/http11_parser.rl"
362
- {
363
- parser->body_start = p - buffer + 1;
361
+ #line 71 "ext/puma_http11/http11_parser.rl"
362
+ {
363
+ parser->body_start = p - buffer + 1;
364
364
  parser->header_done(parser, p + 1, pe - p - 1);
365
365
  {p++; cs = 47; goto _out;}
366
366
  }
@@ -369,23 +369,23 @@ st47:
369
369
  if ( ++p == pe )
370
370
  goto _test_eof47;
371
371
  case 47:
372
- #line 372 "ext/puma_http11/http11_parser.c"
372
+ #line 373 "ext/puma_http11/http11_parser.c"
373
373
  goto st0;
374
374
  tr21:
375
- #line 37 "ext/puma_http11/http11_parser.rl"
376
- { MARK(field_start, p); }
377
375
  #line 38 "ext/puma_http11/http11_parser.rl"
376
+ { MARK(field_start, p); }
377
+ #line 39 "ext/puma_http11/http11_parser.rl"
378
378
  { snake_upcase_char((char *)p); }
379
379
  goto st17;
380
380
  tr23:
381
- #line 38 "ext/puma_http11/http11_parser.rl"
381
+ #line 39 "ext/puma_http11/http11_parser.rl"
382
382
  { snake_upcase_char((char *)p); }
383
383
  goto st17;
384
384
  st17:
385
385
  if ( ++p == pe )
386
386
  goto _test_eof17;
387
387
  case 17:
388
- #line 388 "ext/puma_http11/http11_parser.c"
388
+ #line 389 "ext/puma_http11/http11_parser.c"
389
389
  switch( (*p) ) {
390
390
  case 33: goto tr23;
391
391
  case 58: goto tr24;
@@ -411,72 +411,72 @@ case 17:
411
411
  goto tr23;
412
412
  goto st0;
413
413
  tr24:
414
- #line 39 "ext/puma_http11/http11_parser.rl"
415
- {
414
+ #line 40 "ext/puma_http11/http11_parser.rl"
415
+ {
416
416
  parser->field_len = LEN(field_start, p);
417
417
  }
418
418
  goto st18;
419
419
  tr27:
420
- #line 43 "ext/puma_http11/http11_parser.rl"
420
+ #line 44 "ext/puma_http11/http11_parser.rl"
421
421
  { MARK(mark, p); }
422
422
  goto st18;
423
423
  st18:
424
424
  if ( ++p == pe )
425
425
  goto _test_eof18;
426
426
  case 18:
427
- #line 427 "ext/puma_http11/http11_parser.c"
427
+ #line 428 "ext/puma_http11/http11_parser.c"
428
428
  switch( (*p) ) {
429
429
  case 13: goto tr26;
430
430
  case 32: goto tr27;
431
431
  }
432
432
  goto tr25;
433
433
  tr25:
434
- #line 43 "ext/puma_http11/http11_parser.rl"
434
+ #line 44 "ext/puma_http11/http11_parser.rl"
435
435
  { MARK(mark, p); }
436
436
  goto st19;
437
437
  st19:
438
438
  if ( ++p == pe )
439
439
  goto _test_eof19;
440
440
  case 19:
441
- #line 441 "ext/puma_http11/http11_parser.c"
441
+ #line 442 "ext/puma_http11/http11_parser.c"
442
442
  if ( (*p) == 13 )
443
443
  goto tr29;
444
444
  goto st19;
445
445
  tr9:
446
- #line 50 "ext/puma_http11/http11_parser.rl"
447
- {
446
+ #line 51 "ext/puma_http11/http11_parser.rl"
447
+ {
448
448
  parser->request_uri(parser, PTR_TO(mark), LEN(mark, p));
449
449
  }
450
450
  goto st20;
451
451
  tr38:
452
- #line 66 "ext/puma_http11/http11_parser.rl"
452
+ #line 67 "ext/puma_http11/http11_parser.rl"
453
453
  {
454
454
  parser->request_path(parser, PTR_TO(mark), LEN(mark,p));
455
455
  }
456
- #line 50 "ext/puma_http11/http11_parser.rl"
457
- {
456
+ #line 51 "ext/puma_http11/http11_parser.rl"
457
+ {
458
458
  parser->request_uri(parser, PTR_TO(mark), LEN(mark, p));
459
459
  }
460
460
  goto st20;
461
461
  tr45:
462
- #line 57 "ext/puma_http11/http11_parser.rl"
463
- { MARK(query_start, p); }
464
462
  #line 58 "ext/puma_http11/http11_parser.rl"
465
- {
463
+ { MARK(query_start, p); }
464
+ #line 59 "ext/puma_http11/http11_parser.rl"
465
+ {
466
466
  parser->query_string(parser, PTR_TO(query_start), LEN(query_start, p));
467
467
  }
468
- #line 50 "ext/puma_http11/http11_parser.rl"
469
- {
468
+ #line 51 "ext/puma_http11/http11_parser.rl"
469
+ {
470
470
  parser->request_uri(parser, PTR_TO(mark), LEN(mark, p));
471
471
  }
472
472
  goto st20;
473
473
  tr48:
474
- #line 58 "ext/puma_http11/http11_parser.rl"
475
- {
474
+ #line 59 "ext/puma_http11/http11_parser.rl"
475
+ {
476
476
  parser->query_string(parser, PTR_TO(query_start), LEN(query_start, p));
477
477
  }
478
- #line 50 "ext/puma_http11/http11_parser.rl"
479
- {
478
+ #line 51 "ext/puma_http11/http11_parser.rl"
479
+ {
480
480
  parser->request_uri(parser, PTR_TO(mark), LEN(mark, p));
481
481
  }
482
482
  goto st20;
@@ -484,7 +484,7 @@ st20:
484
484
  if ( ++p == pe )
485
485
  goto _test_eof20;
486
486
  case 20:
487
- #line 487 "ext/puma_http11/http11_parser.c"
487
+ #line 488 "ext/puma_http11/http11_parser.c"
488
488
  switch( (*p) ) {
489
489
  case 32: goto tr31;
490
490
  case 60: goto st0;
@@ -498,14 +498,14 @@ case 20:
498
498
  goto st0;
499
499
  goto tr30;
500
500
  tr30:
501
- #line 34 "ext/puma_http11/http11_parser.rl"
501
+ #line 35 "ext/puma_http11/http11_parser.rl"
502
502
  { MARK(mark, p); }
503
503
  goto st21;
504
504
  st21:
505
505
  if ( ++p == pe )
506
506
  goto _test_eof21;
507
507
  case 21:
508
- #line 508 "ext/puma_http11/http11_parser.c"
508
+ #line 509 "ext/puma_http11/http11_parser.c"
509
509
  switch( (*p) ) {
510
510
  case 32: goto tr33;
511
511
  case 60: goto st0;
@@ -519,14 +519,14 @@ case 21:
519
519
  goto st0;
520
520
  goto st21;
521
521
  tr5:
522
- #line 34 "ext/puma_http11/http11_parser.rl"
522
+ #line 35 "ext/puma_http11/http11_parser.rl"
523
523
  { MARK(mark, p); }
524
524
  goto st22;
525
525
  st22:
526
526
  if ( ++p == pe )
527
527
  goto _test_eof22;
528
528
  case 22:
529
- #line 529 "ext/puma_http11/http11_parser.c"
529
+ #line 530 "ext/puma_http11/http11_parser.c"
530
530
  switch( (*p) ) {
531
531
  case 43: goto st22;
532
532
  case 58: goto st23;
@@ -544,14 +544,14 @@ case 22:
544
544
  goto st22;
545
545
  goto st0;
546
546
  tr7:
547
- #line 34 "ext/puma_http11/http11_parser.rl"
547
+ #line 35 "ext/puma_http11/http11_parser.rl"
548
548
  { MARK(mark, p); }
549
549
  goto st23;
550
550
  st23:
551
551
  if ( ++p == pe )
552
552
  goto _test_eof23;
553
553
  case 23:
554
- #line 554 "ext/puma_http11/http11_parser.c"
554
+ #line 555 "ext/puma_http11/http11_parser.c"
555
555
  switch( (*p) ) {
556
556
  case 32: goto tr8;
557
557
  case 34: goto st0;
@@ -564,14 +564,14 @@ case 23:
564
564
  goto st0;
565
565
  goto st23;
566
566
  tr6:
567
- #line 34 "ext/puma_http11/http11_parser.rl"
567
+ #line 35 "ext/puma_http11/http11_parser.rl"
568
568
  { MARK(mark, p); }
569
569
  goto st24;
570
570
  st24:
571
571
  if ( ++p == pe )
572
572
  goto _test_eof24;
573
573
  case 24:
574
- #line 574 "ext/puma_http11/http11_parser.c"
574
+ #line 575 "ext/puma_http11/http11_parser.c"
575
575
  switch( (*p) ) {
576
576
  case 32: goto tr37;
577
577
  case 34: goto st0;
@@ -586,7 +586,7 @@ case 24:
586
586
  goto st0;
587
587
  goto st24;
588
588
  tr39:
589
- #line 66 "ext/puma_http11/http11_parser.rl"
589
+ #line 67 "ext/puma_http11/http11_parser.rl"
590
590
  {
591
591
  parser->request_path(parser, PTR_TO(mark), LEN(mark,p));
592
592
  }
@@ -595,7 +595,7 @@ st25:
595
595
  if ( ++p == pe )
596
596
  goto _test_eof25;
597
597
  case 25:
598
- #line 598 "ext/puma_http11/http11_parser.c"
598
+ #line 599 "ext/puma_http11/http11_parser.c"
599
599
  switch( (*p) ) {
600
600
  case 32: goto tr8;
601
601
  case 34: goto st0;
@@ -609,7 +609,7 @@ case 25:
609
609
  goto st0;
610
610
  goto st25;
611
611
  tr40:
612
- #line 66 "ext/puma_http11/http11_parser.rl"
612
+ #line 67 "ext/puma_http11/http11_parser.rl"
613
613
  {
614
614
  parser->request_path(parser, PTR_TO(mark), LEN(mark,p));
615
615
  }
@@ -618,7 +618,7 @@ st26:
618
618
  if ( ++p == pe )
619
619
  goto _test_eof26;
620
620
  case 26:
621
- #line 621 "ext/puma_http11/http11_parser.c"
621
+ #line 622 "ext/puma_http11/http11_parser.c"
622
622
  switch( (*p) ) {
623
623
  case 32: goto tr44;
624
624
  case 34: goto st0;
@@ -631,14 +631,14 @@ case 26:
631
631
  goto st0;
632
632
  goto tr43;
633
633
  tr43:
634
- #line 57 "ext/puma_http11/http11_parser.rl"
634
+ #line 58 "ext/puma_http11/http11_parser.rl"
635
635
  { MARK(query_start, p); }
636
636
  goto st27;
637
637
  st27:
638
638
  if ( ++p == pe )
639
639
  goto _test_eof27;
640
640
  case 27:
641
- #line 641 "ext/puma_http11/http11_parser.c"
641
+ #line 642 "ext/puma_http11/http11_parser.c"
642
642
  switch( (*p) ) {
643
643
  case 32: goto tr47;
644
644
  case 34: goto st0;
@@ -1033,7 +1033,7 @@ case 46:
1033
1033
  _out: {}
1034
1034
  }
1035
1035
 
1036
- #line 114 "ext/puma_http11/http11_parser.rl"
1036
+ #line 115 "ext/puma_http11/http11_parser.rl"
1037
1037
 
1038
1038
  if (!puma_parser_has_error(parser))
1039
1039
  parser->cs = cs;