puma 2.2.0 → 8.0.2

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.
Files changed (136) hide show
  1. checksums.yaml +7 -0
  2. data/History.md +3334 -0
  3. data/LICENSE +23 -20
  4. data/README.md +387 -100
  5. data/bin/puma-wild +25 -0
  6. data/bin/pumactl +1 -1
  7. data/docs/5.0-Upgrade.md +98 -0
  8. data/docs/6.0-Upgrade.md +56 -0
  9. data/docs/7.0-Upgrade.md +52 -0
  10. data/docs/8.0-Upgrade.md +100 -0
  11. data/docs/architecture.md +74 -0
  12. data/docs/compile_options.md +55 -0
  13. data/docs/deployment.md +137 -0
  14. data/docs/fork_worker.md +41 -0
  15. data/docs/grpc.md +62 -0
  16. data/docs/images/favicon.svg +1 -0
  17. data/docs/images/puma-connection-flow-no-reactor.png +0 -0
  18. data/docs/images/puma-connection-flow.png +0 -0
  19. data/docs/images/puma-general-arch.png +0 -0
  20. data/docs/images/running-puma.svg +1 -0
  21. data/docs/images/standard-logo.svg +1 -0
  22. data/docs/java_options.md +54 -0
  23. data/docs/jungle/README.md +9 -0
  24. data/docs/jungle/rc.d/README.md +74 -0
  25. data/docs/jungle/rc.d/puma +61 -0
  26. data/docs/jungle/rc.d/puma.conf +10 -0
  27. data/docs/kubernetes.md +73 -0
  28. data/docs/nginx.md +5 -5
  29. data/docs/plugins.md +42 -0
  30. data/docs/rails_dev_mode.md +28 -0
  31. data/docs/restart.md +65 -0
  32. data/docs/signals.md +98 -0
  33. data/docs/stats.md +148 -0
  34. data/docs/systemd.md +253 -0
  35. data/docs/testing_benchmarks_local_files.md +150 -0
  36. data/docs/testing_test_rackup_ci_files.md +36 -0
  37. data/ext/puma_http11/PumaHttp11Service.java +2 -2
  38. data/ext/puma_http11/extconf.rb +59 -2
  39. data/ext/puma_http11/http11_parser.c +319 -487
  40. data/ext/puma_http11/http11_parser.h +15 -13
  41. data/ext/puma_http11/http11_parser.java.rl +64 -94
  42. data/ext/puma_http11/http11_parser.rl +27 -24
  43. data/ext/puma_http11/http11_parser_common.rl +8 -8
  44. data/ext/puma_http11/mini_ssl.c +696 -38
  45. data/ext/puma_http11/no_ssl/PumaHttp11Service.java +15 -0
  46. data/ext/puma_http11/org/jruby/puma/EnvKey.java +241 -0
  47. data/ext/puma_http11/org/jruby/puma/Http11.java +241 -145
  48. data/ext/puma_http11/org/jruby/puma/Http11Parser.java +174 -221
  49. data/ext/puma_http11/org/jruby/puma/MiniSSL.java +413 -193
  50. data/ext/puma_http11/puma_http11.c +183 -175
  51. data/lib/puma/app/status.rb +77 -29
  52. data/lib/puma/binder.rb +349 -119
  53. data/lib/puma/cli.rb +163 -801
  54. data/lib/puma/client.rb +627 -144
  55. data/lib/puma/client_env.rb +171 -0
  56. data/lib/puma/cluster/worker.rb +183 -0
  57. data/lib/puma/cluster/worker_handle.rb +127 -0
  58. data/lib/puma/cluster.rb +634 -0
  59. data/lib/puma/cluster_accept_loop_delay.rb +91 -0
  60. data/lib/puma/commonlogger.rb +115 -0
  61. data/lib/puma/configuration.rb +420 -198
  62. data/lib/puma/const.rb +266 -115
  63. data/lib/puma/control_cli.rb +219 -120
  64. data/lib/puma/detect.rb +56 -2
  65. data/lib/puma/dsl.rb +1562 -0
  66. data/lib/puma/error_logger.rb +115 -0
  67. data/lib/puma/events.rb +44 -60
  68. data/lib/puma/io_buffer.rb +48 -5
  69. data/lib/puma/jruby_restart.rb +2 -51
  70. data/lib/puma/json_serialization.rb +96 -0
  71. data/lib/puma/launcher/bundle_pruner.rb +102 -0
  72. data/lib/puma/launcher.rb +501 -0
  73. data/lib/puma/log_writer.rb +153 -0
  74. data/lib/puma/minissl/context_builder.rb +96 -0
  75. data/lib/puma/minissl.rb +355 -37
  76. data/lib/puma/null_io.rb +79 -12
  77. data/lib/puma/plugin/systemd.rb +90 -0
  78. data/lib/puma/plugin/tmp_restart.rb +36 -0
  79. data/lib/puma/plugin.rb +111 -0
  80. data/lib/puma/rack/builder.rb +297 -0
  81. data/lib/puma/rack/urlmap.rb +93 -0
  82. data/lib/puma/rack_default.rb +21 -4
  83. data/lib/puma/reactor.rb +102 -133
  84. data/lib/puma/response.rb +532 -0
  85. data/lib/puma/runner.rb +211 -0
  86. data/lib/puma/sd_notify.rb +146 -0
  87. data/lib/puma/server.rb +582 -445
  88. data/lib/puma/server_plugin_control.rb +32 -0
  89. data/lib/puma/single.rb +72 -0
  90. data/lib/puma/state_file.rb +69 -0
  91. data/lib/puma/thread_pool.rb +389 -57
  92. data/lib/puma/util.rb +125 -0
  93. data/lib/puma.rb +80 -6
  94. data/lib/rack/handler/puma.rb +125 -47
  95. data/tools/Dockerfile +26 -0
  96. data/tools/trickletest.rb +44 -0
  97. metadata +88 -148
  98. data/COPYING +0 -55
  99. data/Gemfile +0 -10
  100. data/History.txt +0 -302
  101. data/Manifest.txt +0 -60
  102. data/Rakefile +0 -165
  103. data/TODO +0 -5
  104. data/docs/config.md +0 -0
  105. data/ext/puma_http11/ext_help.h +0 -15
  106. data/ext/puma_http11/io_buffer.c +0 -154
  107. data/lib/puma/accept_nonblock.rb +0 -23
  108. data/lib/puma/capistrano.rb +0 -34
  109. data/lib/puma/compat.rb +0 -11
  110. data/lib/puma/daemon_ext.rb +0 -20
  111. data/lib/puma/delegation.rb +0 -11
  112. data/lib/puma/java_io_buffer.rb +0 -45
  113. data/lib/puma/rack_patch.rb +0 -25
  114. data/puma.gemspec +0 -45
  115. data/test/test_app_status.rb +0 -88
  116. data/test/test_cli.rb +0 -171
  117. data/test/test_config.rb +0 -16
  118. data/test/test_http10.rb +0 -27
  119. data/test/test_http11.rb +0 -126
  120. data/test/test_integration.rb +0 -154
  121. data/test/test_iobuffer.rb +0 -38
  122. data/test/test_minissl.rb +0 -25
  123. data/test/test_null_io.rb +0 -31
  124. data/test/test_persistent.rb +0 -238
  125. data/test/test_puma_server.rb +0 -224
  126. data/test/test_rack_handler.rb +0 -10
  127. data/test/test_rack_server.rb +0 -141
  128. data/test/test_thread_pool.rb +0 -146
  129. data/test/test_unix_socket.rb +0 -39
  130. data/test/test_ws.rb +0 -89
  131. data/tools/jungle/init.d/README.md +0 -54
  132. data/tools/jungle/init.d/puma +0 -332
  133. data/tools/jungle/init.d/run-puma +0 -3
  134. data/tools/jungle/upstart/README.md +0 -61
  135. data/tools/jungle/upstart/puma-manager.conf +0 -31
  136. data/tools/jungle/upstart/puma.conf +0 -52
@@ -1,8 +1,9 @@
1
1
 
2
- #line 1 "ext/http11/http11_parser.rl"
2
+ #line 1 "ext/puma_http11/http11_parser.rl"
3
3
  /**
4
4
  * Copyright (c) 2005 Zed A. Shaw
5
5
  * You can redistribute it and/or modify it under the same terms as Ruby.
6
+ * License 3-clause BSD
6
7
  */
7
8
  #include "http11_parser.h"
8
9
  #include <stdio.h>
@@ -13,12 +14,14 @@
13
14
 
14
15
  /*
15
16
  * capitalizes all lower-case ASCII characters,
16
- * converts dashes to underscores.
17
+ * converts dashes to underscores, and underscores to commas.
17
18
  */
18
19
  static void snake_upcase_char(char *c)
19
20
  {
20
21
  if (*c >= 'a' && *c <= 'z')
21
22
  *c &= ~0x20;
23
+ else if (*c == '_')
24
+ *c = ',';
22
25
  else if (*c == '-')
23
26
  *c = '_';
24
27
  }
@@ -30,30 +33,28 @@ static void snake_upcase_char(char *c)
30
33
  /** Machine **/
31
34
 
32
35
 
33
- #line 78 "ext/http11/http11_parser.rl"
36
+ #line 81 "ext/puma_http11/http11_parser.rl"
34
37
 
35
38
 
36
39
  /** Data **/
37
40
 
38
- #line 39 "ext/http11/http11_parser.c"
39
- static const int http_parser_start = 1;
40
- static const int http_parser_first_final = 57;
41
- static const int http_parser_error = 0;
41
+ #line 42 "ext/puma_http11/http11_parser.c"
42
+ static const int puma_parser_start = 1;
43
+ static const int puma_parser_first_final = 46;
44
+ static const int puma_parser_error = 0;
42
45
 
43
- static const int http_parser_en_main = 1;
44
46
 
47
+ #line 85 "ext/puma_http11/http11_parser.rl"
45
48
 
46
- #line 82 "ext/http11/http11_parser.rl"
47
-
48
- int http_parser_init(http_parser *parser) {
49
+ int puma_parser_init(puma_parser *parser) {
49
50
  int cs = 0;
50
51
 
51
- #line 52 "ext/http11/http11_parser.c"
52
+ #line 53 "ext/puma_http11/http11_parser.c"
52
53
  {
53
- cs = http_parser_start;
54
+ cs = puma_parser_start;
54
55
  }
55
56
 
56
- #line 86 "ext/http11/http11_parser.rl"
57
+ #line 89 "ext/puma_http11/http11_parser.rl"
57
58
  parser->cs = cs;
58
59
  parser->body_start = 0;
59
60
  parser->content_len = 0;
@@ -69,7 +70,7 @@ int http_parser_init(http_parser *parser) {
69
70
 
70
71
 
71
72
  /** exec **/
72
- size_t http_parser_execute(http_parser *parser, const char *buffer, size_t len, size_t off) {
73
+ size_t puma_parser_execute(puma_parser *parser, const char *buffer, size_t len, size_t off) {
73
74
  const char *p, *pe;
74
75
  int cs = parser->cs;
75
76
 
@@ -79,10 +80,10 @@ size_t http_parser_execute(http_parser *parser, const char *buffer, size_t len,
79
80
  pe = buffer+len;
80
81
 
81
82
  /* assert(*pe == '\0' && "pointer does not end on NUL"); */
82
- assert(pe - p == len - off && "pointers aren't same distance");
83
+ assert((size_t) (pe - p) == len - off && "pointers aren't same distance");
83
84
 
84
85
 
85
- #line 86 "ext/http11/http11_parser.c"
86
+ #line 87 "ext/puma_http11/http11_parser.c"
86
87
  {
87
88
  if ( p == pe )
88
89
  goto _test_eof;
@@ -106,31 +107,31 @@ st0:
106
107
  cs = 0;
107
108
  goto _out;
108
109
  tr0:
109
- #line 34 "ext/http11/http11_parser.rl"
110
+ #line 37 "ext/puma_http11/http11_parser.rl"
110
111
  { MARK(mark, p); }
111
112
  goto st2;
112
113
  st2:
113
114
  if ( ++p == pe )
114
115
  goto _test_eof2;
115
116
  case 2:
116
- #line 117 "ext/http11/http11_parser.c"
117
+ #line 118 "ext/puma_http11/http11_parser.c"
117
118
  switch( (*p) ) {
118
119
  case 32: goto tr2;
119
- case 36: goto st38;
120
- case 95: goto st38;
120
+ case 36: goto st27;
121
+ case 95: goto st27;
121
122
  }
122
123
  if ( (*p) < 48 ) {
123
124
  if ( 45 <= (*p) && (*p) <= 46 )
124
- goto st38;
125
+ goto st27;
125
126
  } else if ( (*p) > 57 ) {
126
127
  if ( 65 <= (*p) && (*p) <= 90 )
127
- goto st38;
128
+ goto st27;
128
129
  } else
129
- goto st38;
130
+ goto st27;
130
131
  goto st0;
131
132
  tr2:
132
- #line 47 "ext/http11/http11_parser.rl"
133
- {
133
+ #line 50 "ext/puma_http11/http11_parser.rl"
134
+ {
134
135
  parser->request_method(parser, PTR_TO(mark), LEN(mark, p));
135
136
  }
136
137
  goto st3;
@@ -138,7 +139,7 @@ st3:
138
139
  if ( ++p == pe )
139
140
  goto _test_eof3;
140
141
  case 3:
141
- #line 142 "ext/http11/http11_parser.c"
142
+ #line 143 "ext/puma_http11/http11_parser.c"
142
143
  switch( (*p) ) {
143
144
  case 42: goto tr4;
144
145
  case 43: goto tr5;
@@ -155,68 +156,68 @@ case 3:
155
156
  goto tr5;
156
157
  goto st0;
157
158
  tr4:
158
- #line 34 "ext/http11/http11_parser.rl"
159
+ #line 37 "ext/puma_http11/http11_parser.rl"
159
160
  { MARK(mark, p); }
160
161
  goto st4;
161
162
  st4:
162
163
  if ( ++p == pe )
163
164
  goto _test_eof4;
164
165
  case 4:
165
- #line 166 "ext/http11/http11_parser.c"
166
+ #line 167 "ext/puma_http11/http11_parser.c"
166
167
  switch( (*p) ) {
167
168
  case 32: goto tr8;
168
169
  case 35: goto tr9;
169
170
  }
170
171
  goto st0;
171
172
  tr8:
172
- #line 50 "ext/http11/http11_parser.rl"
173
- {
173
+ #line 53 "ext/puma_http11/http11_parser.rl"
174
+ {
174
175
  parser->request_uri(parser, PTR_TO(mark), LEN(mark, p));
175
176
  }
176
177
  goto st5;
177
178
  tr31:
178
- #line 34 "ext/http11/http11_parser.rl"
179
+ #line 37 "ext/puma_http11/http11_parser.rl"
179
180
  { MARK(mark, p); }
180
- #line 53 "ext/http11/http11_parser.rl"
181
+ #line 56 "ext/puma_http11/http11_parser.rl"
181
182
  {
182
183
  parser->fragment(parser, PTR_TO(mark), LEN(mark, p));
183
184
  }
184
185
  goto st5;
185
- tr34:
186
- #line 53 "ext/http11/http11_parser.rl"
186
+ tr33:
187
+ #line 56 "ext/puma_http11/http11_parser.rl"
187
188
  {
188
189
  parser->fragment(parser, PTR_TO(mark), LEN(mark, p));
189
190
  }
190
191
  goto st5;
191
- tr42:
192
- #line 66 "ext/http11/http11_parser.rl"
192
+ tr37:
193
+ #line 69 "ext/puma_http11/http11_parser.rl"
193
194
  {
194
195
  parser->request_path(parser, PTR_TO(mark), LEN(mark,p));
195
196
  }
196
- #line 50 "ext/http11/http11_parser.rl"
197
- {
197
+ #line 53 "ext/puma_http11/http11_parser.rl"
198
+ {
198
199
  parser->request_uri(parser, PTR_TO(mark), LEN(mark, p));
199
200
  }
200
201
  goto st5;
201
- tr53:
202
- #line 57 "ext/http11/http11_parser.rl"
202
+ tr41:
203
+ #line 60 "ext/puma_http11/http11_parser.rl"
203
204
  { MARK(query_start, p); }
204
- #line 58 "ext/http11/http11_parser.rl"
205
- {
205
+ #line 61 "ext/puma_http11/http11_parser.rl"
206
+ {
206
207
  parser->query_string(parser, PTR_TO(query_start), LEN(query_start, p));
207
208
  }
208
- #line 50 "ext/http11/http11_parser.rl"
209
- {
209
+ #line 53 "ext/puma_http11/http11_parser.rl"
210
+ {
210
211
  parser->request_uri(parser, PTR_TO(mark), LEN(mark, p));
211
212
  }
212
213
  goto st5;
213
- tr57:
214
- #line 58 "ext/http11/http11_parser.rl"
215
- {
214
+ tr44:
215
+ #line 61 "ext/puma_http11/http11_parser.rl"
216
+ {
216
217
  parser->query_string(parser, PTR_TO(query_start), LEN(query_start, p));
217
218
  }
218
- #line 50 "ext/http11/http11_parser.rl"
219
- {
219
+ #line 53 "ext/puma_http11/http11_parser.rl"
220
+ {
220
221
  parser->request_uri(parser, PTR_TO(mark), LEN(mark, p));
221
222
  }
222
223
  goto st5;
@@ -224,19 +225,19 @@ st5:
224
225
  if ( ++p == pe )
225
226
  goto _test_eof5;
226
227
  case 5:
227
- #line 228 "ext/http11/http11_parser.c"
228
+ #line 229 "ext/puma_http11/http11_parser.c"
228
229
  if ( (*p) == 72 )
229
230
  goto tr10;
230
231
  goto st0;
231
232
  tr10:
232
- #line 34 "ext/http11/http11_parser.rl"
233
+ #line 37 "ext/puma_http11/http11_parser.rl"
233
234
  { MARK(mark, p); }
234
235
  goto st6;
235
236
  st6:
236
237
  if ( ++p == pe )
237
238
  goto _test_eof6;
238
239
  case 6:
239
- #line 240 "ext/http11/http11_parser.c"
240
+ #line 241 "ext/puma_http11/http11_parser.c"
240
241
  if ( (*p) == 84 )
241
242
  goto st7;
242
243
  goto st0;
@@ -294,21 +295,21 @@ case 13:
294
295
  goto st13;
295
296
  goto st0;
296
297
  tr18:
297
- #line 62 "ext/http11/http11_parser.rl"
298
- {
299
- parser->http_version(parser, PTR_TO(mark), LEN(mark, p));
298
+ #line 65 "ext/puma_http11/http11_parser.rl"
299
+ {
300
+ parser->server_protocol(parser, PTR_TO(mark), LEN(mark, p));
300
301
  }
301
302
  goto st14;
302
303
  tr26:
303
- #line 43 "ext/http11/http11_parser.rl"
304
+ #line 46 "ext/puma_http11/http11_parser.rl"
304
305
  { MARK(mark, p); }
305
- #line 44 "ext/http11/http11_parser.rl"
306
+ #line 47 "ext/puma_http11/http11_parser.rl"
306
307
  {
307
308
  parser->http_field(parser, PTR_TO(field_start), parser->field_len, PTR_TO(mark), LEN(mark, p));
308
309
  }
309
310
  goto st14;
310
311
  tr29:
311
- #line 44 "ext/http11/http11_parser.rl"
312
+ #line 47 "ext/puma_http11/http11_parser.rl"
312
313
  {
313
314
  parser->http_field(parser, PTR_TO(field_start), parser->field_len, PTR_TO(mark), LEN(mark, p));
314
315
  }
@@ -317,7 +318,7 @@ st14:
317
318
  if ( ++p == pe )
318
319
  goto _test_eof14;
319
320
  case 14:
320
- #line 321 "ext/http11/http11_parser.c"
321
+ #line 322 "ext/puma_http11/http11_parser.c"
321
322
  if ( (*p) == 10 )
322
323
  goto st15;
323
324
  goto st0;
@@ -357,34 +358,34 @@ case 16:
357
358
  goto tr22;
358
359
  goto st0;
359
360
  tr22:
360
- #line 70 "ext/http11/http11_parser.rl"
361
- {
362
- parser->body_start = p - buffer + 1;
361
+ #line 73 "ext/puma_http11/http11_parser.rl"
362
+ {
363
+ parser->body_start = p - buffer + 1;
363
364
  parser->header_done(parser, p + 1, pe - p - 1);
364
- {p++; cs = 57; goto _out;}
365
+ {p++; cs = 46; goto _out;}
365
366
  }
366
- goto st57;
367
- st57:
367
+ goto st46;
368
+ st46:
368
369
  if ( ++p == pe )
369
- goto _test_eof57;
370
- case 57:
371
- #line 372 "ext/http11/http11_parser.c"
370
+ goto _test_eof46;
371
+ case 46:
372
+ #line 373 "ext/puma_http11/http11_parser.c"
372
373
  goto st0;
373
374
  tr21:
374
- #line 37 "ext/http11/http11_parser.rl"
375
+ #line 40 "ext/puma_http11/http11_parser.rl"
375
376
  { MARK(field_start, p); }
376
- #line 38 "ext/http11/http11_parser.rl"
377
+ #line 41 "ext/puma_http11/http11_parser.rl"
377
378
  { snake_upcase_char((char *)p); }
378
379
  goto st17;
379
380
  tr23:
380
- #line 38 "ext/http11/http11_parser.rl"
381
+ #line 41 "ext/puma_http11/http11_parser.rl"
381
382
  { snake_upcase_char((char *)p); }
382
383
  goto st17;
383
384
  st17:
384
385
  if ( ++p == pe )
385
386
  goto _test_eof17;
386
387
  case 17:
387
- #line 388 "ext/http11/http11_parser.c"
388
+ #line 389 "ext/puma_http11/http11_parser.c"
388
389
  switch( (*p) ) {
389
390
  case 33: goto tr23;
390
391
  case 58: goto tr24;
@@ -410,72 +411,85 @@ case 17:
410
411
  goto tr23;
411
412
  goto st0;
412
413
  tr24:
413
- #line 39 "ext/http11/http11_parser.rl"
414
- {
414
+ #line 42 "ext/puma_http11/http11_parser.rl"
415
+ {
415
416
  parser->field_len = LEN(field_start, p);
416
417
  }
417
418
  goto st18;
418
419
  tr27:
419
- #line 43 "ext/http11/http11_parser.rl"
420
+ #line 46 "ext/puma_http11/http11_parser.rl"
420
421
  { MARK(mark, p); }
421
422
  goto st18;
422
423
  st18:
423
424
  if ( ++p == pe )
424
425
  goto _test_eof18;
425
426
  case 18:
426
- #line 427 "ext/http11/http11_parser.c"
427
+ #line 428 "ext/puma_http11/http11_parser.c"
427
428
  switch( (*p) ) {
428
429
  case 13: goto tr26;
429
430
  case 32: goto tr27;
431
+ case 127: goto st0;
430
432
  }
433
+ if ( (*p) > 8 ) {
434
+ if ( 10 <= (*p) && (*p) <= 31 )
435
+ goto st0;
436
+ } else if ( (*p) >= 0 )
437
+ goto st0;
431
438
  goto tr25;
432
439
  tr25:
433
- #line 43 "ext/http11/http11_parser.rl"
440
+ #line 46 "ext/puma_http11/http11_parser.rl"
434
441
  { MARK(mark, p); }
435
442
  goto st19;
436
443
  st19:
437
444
  if ( ++p == pe )
438
445
  goto _test_eof19;
439
446
  case 19:
440
- #line 441 "ext/http11/http11_parser.c"
441
- if ( (*p) == 13 )
442
- goto tr29;
447
+ #line 448 "ext/puma_http11/http11_parser.c"
448
+ switch( (*p) ) {
449
+ case 13: goto tr29;
450
+ case 127: goto st0;
451
+ }
452
+ if ( (*p) > 8 ) {
453
+ if ( 10 <= (*p) && (*p) <= 31 )
454
+ goto st0;
455
+ } else if ( (*p) >= 0 )
456
+ goto st0;
443
457
  goto st19;
444
458
  tr9:
445
- #line 50 "ext/http11/http11_parser.rl"
446
- {
459
+ #line 53 "ext/puma_http11/http11_parser.rl"
460
+ {
447
461
  parser->request_uri(parser, PTR_TO(mark), LEN(mark, p));
448
462
  }
449
463
  goto st20;
450
- tr43:
451
- #line 66 "ext/http11/http11_parser.rl"
464
+ tr38:
465
+ #line 69 "ext/puma_http11/http11_parser.rl"
452
466
  {
453
467
  parser->request_path(parser, PTR_TO(mark), LEN(mark,p));
454
468
  }
455
- #line 50 "ext/http11/http11_parser.rl"
456
- {
469
+ #line 53 "ext/puma_http11/http11_parser.rl"
470
+ {
457
471
  parser->request_uri(parser, PTR_TO(mark), LEN(mark, p));
458
472
  }
459
473
  goto st20;
460
- tr54:
461
- #line 57 "ext/http11/http11_parser.rl"
474
+ tr42:
475
+ #line 60 "ext/puma_http11/http11_parser.rl"
462
476
  { MARK(query_start, p); }
463
- #line 58 "ext/http11/http11_parser.rl"
464
- {
477
+ #line 61 "ext/puma_http11/http11_parser.rl"
478
+ {
465
479
  parser->query_string(parser, PTR_TO(query_start), LEN(query_start, p));
466
480
  }
467
- #line 50 "ext/http11/http11_parser.rl"
468
- {
481
+ #line 53 "ext/puma_http11/http11_parser.rl"
482
+ {
469
483
  parser->request_uri(parser, PTR_TO(mark), LEN(mark, p));
470
484
  }
471
485
  goto st20;
472
- tr58:
473
- #line 58 "ext/http11/http11_parser.rl"
474
- {
486
+ tr45:
487
+ #line 61 "ext/puma_http11/http11_parser.rl"
488
+ {
475
489
  parser->query_string(parser, PTR_TO(query_start), LEN(query_start, p));
476
490
  }
477
- #line 50 "ext/http11/http11_parser.rl"
478
- {
491
+ #line 53 "ext/puma_http11/http11_parser.rl"
492
+ {
479
493
  parser->request_uri(parser, PTR_TO(mark), LEN(mark, p));
480
494
  }
481
495
  goto st20;
@@ -483,10 +497,9 @@ st20:
483
497
  if ( ++p == pe )
484
498
  goto _test_eof20;
485
499
  case 20:
486
- #line 487 "ext/http11/http11_parser.c"
500
+ #line 501 "ext/puma_http11/http11_parser.c"
487
501
  switch( (*p) ) {
488
502
  case 32: goto tr31;
489
- case 37: goto tr32;
490
503
  case 60: goto st0;
491
504
  case 62: goto st0;
492
505
  case 127: goto st0;
@@ -498,17 +511,16 @@ case 20:
498
511
  goto st0;
499
512
  goto tr30;
500
513
  tr30:
501
- #line 34 "ext/http11/http11_parser.rl"
514
+ #line 37 "ext/puma_http11/http11_parser.rl"
502
515
  { MARK(mark, p); }
503
516
  goto st21;
504
517
  st21:
505
518
  if ( ++p == pe )
506
519
  goto _test_eof21;
507
520
  case 21:
508
- #line 509 "ext/http11/http11_parser.c"
521
+ #line 522 "ext/puma_http11/http11_parser.c"
509
522
  switch( (*p) ) {
510
- case 32: goto tr34;
511
- case 37: goto st22;
523
+ case 32: goto tr33;
512
524
  case 60: goto st0;
513
525
  case 62: goto st0;
514
526
  case 127: goto st0;
@@ -519,611 +531,442 @@ case 21:
519
531
  } else if ( (*p) >= 0 )
520
532
  goto st0;
521
533
  goto st21;
522
- tr32:
523
- #line 34 "ext/http11/http11_parser.rl"
534
+ tr5:
535
+ #line 37 "ext/puma_http11/http11_parser.rl"
524
536
  { MARK(mark, p); }
525
537
  goto st22;
526
538
  st22:
527
539
  if ( ++p == pe )
528
540
  goto _test_eof22;
529
541
  case 22:
530
- #line 531 "ext/http11/http11_parser.c"
531
- if ( (*p) < 65 ) {
532
- if ( 48 <= (*p) && (*p) <= 57 )
533
- goto st23;
534
- } else if ( (*p) > 70 ) {
535
- if ( 97 <= (*p) && (*p) <= 102 )
536
- goto st23;
537
- } else
538
- goto st23;
539
- goto st0;
540
- st23:
541
- if ( ++p == pe )
542
- goto _test_eof23;
543
- case 23:
544
- if ( (*p) < 65 ) {
545
- if ( 48 <= (*p) && (*p) <= 57 )
546
- goto st21;
547
- } else if ( (*p) > 70 ) {
548
- if ( 97 <= (*p) && (*p) <= 102 )
549
- goto st21;
550
- } else
551
- goto st21;
552
- goto st0;
553
- tr5:
554
- #line 34 "ext/http11/http11_parser.rl"
555
- { MARK(mark, p); }
556
- goto st24;
557
- st24:
558
- if ( ++p == pe )
559
- goto _test_eof24;
560
- case 24:
561
- #line 562 "ext/http11/http11_parser.c"
542
+ #line 543 "ext/puma_http11/http11_parser.c"
562
543
  switch( (*p) ) {
563
- case 43: goto st24;
564
- case 58: goto st25;
544
+ case 43: goto st22;
545
+ case 58: goto st23;
565
546
  }
566
547
  if ( (*p) < 48 ) {
567
548
  if ( 45 <= (*p) && (*p) <= 46 )
568
- goto st24;
549
+ goto st22;
569
550
  } else if ( (*p) > 57 ) {
570
551
  if ( (*p) > 90 ) {
571
552
  if ( 97 <= (*p) && (*p) <= 122 )
572
- goto st24;
553
+ goto st22;
573
554
  } else if ( (*p) >= 65 )
574
- goto st24;
555
+ goto st22;
575
556
  } else
576
- goto st24;
557
+ goto st22;
577
558
  goto st0;
578
559
  tr7:
579
- #line 34 "ext/http11/http11_parser.rl"
560
+ #line 37 "ext/puma_http11/http11_parser.rl"
580
561
  { MARK(mark, p); }
581
- goto st25;
582
- st25:
562
+ goto st23;
563
+ st23:
583
564
  if ( ++p == pe )
584
- goto _test_eof25;
585
- case 25:
586
- #line 587 "ext/http11/http11_parser.c"
565
+ goto _test_eof23;
566
+ case 23:
567
+ #line 568 "ext/puma_http11/http11_parser.c"
587
568
  switch( (*p) ) {
588
569
  case 32: goto tr8;
589
570
  case 34: goto st0;
590
571
  case 35: goto tr9;
591
- case 37: goto st26;
592
572
  case 60: goto st0;
593
573
  case 62: goto st0;
594
574
  case 127: goto st0;
595
575
  }
596
576
  if ( 0 <= (*p) && (*p) <= 31 )
597
577
  goto st0;
598
- goto st25;
599
- st26:
600
- if ( ++p == pe )
601
- goto _test_eof26;
602
- case 26:
603
- if ( (*p) < 65 ) {
604
- if ( 48 <= (*p) && (*p) <= 57 )
605
- goto st27;
606
- } else if ( (*p) > 70 ) {
607
- if ( 97 <= (*p) && (*p) <= 102 )
608
- goto st27;
609
- } else
610
- goto st27;
611
- goto st0;
612
- st27:
613
- if ( ++p == pe )
614
- goto _test_eof27;
615
- case 27:
616
- if ( (*p) < 65 ) {
617
- if ( 48 <= (*p) && (*p) <= 57 )
618
- goto st25;
619
- } else if ( (*p) > 70 ) {
620
- if ( 97 <= (*p) && (*p) <= 102 )
621
- goto st25;
622
- } else
623
- goto st25;
624
- goto st0;
578
+ goto st23;
625
579
  tr6:
626
- #line 34 "ext/http11/http11_parser.rl"
580
+ #line 37 "ext/puma_http11/http11_parser.rl"
627
581
  { MARK(mark, p); }
628
- goto st28;
629
- st28:
630
- if ( ++p == pe )
631
- goto _test_eof28;
632
- case 28:
633
- #line 634 "ext/http11/http11_parser.c"
634
- switch( (*p) ) {
635
- case 32: goto tr42;
636
- case 34: goto st0;
637
- case 35: goto tr43;
638
- case 37: goto st29;
639
- case 59: goto tr45;
640
- case 60: goto st0;
641
- case 62: goto st0;
642
- case 63: goto tr46;
643
- case 127: goto st0;
644
- }
645
- if ( 0 <= (*p) && (*p) <= 31 )
646
- goto st0;
647
- goto st28;
648
- st29:
649
- if ( ++p == pe )
650
- goto _test_eof29;
651
- case 29:
652
- if ( (*p) < 65 ) {
653
- if ( 48 <= (*p) && (*p) <= 57 )
654
- goto st30;
655
- } else if ( (*p) > 70 ) {
656
- if ( 97 <= (*p) && (*p) <= 102 )
657
- goto st30;
658
- } else
659
- goto st30;
660
- goto st0;
661
- st30:
662
- if ( ++p == pe )
663
- goto _test_eof30;
664
- case 30:
665
- if ( (*p) < 65 ) {
666
- if ( 48 <= (*p) && (*p) <= 57 )
667
- goto st28;
668
- } else if ( (*p) > 70 ) {
669
- if ( 97 <= (*p) && (*p) <= 102 )
670
- goto st28;
671
- } else
672
- goto st28;
673
- goto st0;
674
- tr45:
675
- #line 66 "ext/http11/http11_parser.rl"
676
- {
677
- parser->request_path(parser, PTR_TO(mark), LEN(mark,p));
678
- }
679
- goto st31;
680
- st31:
582
+ goto st24;
583
+ st24:
681
584
  if ( ++p == pe )
682
- goto _test_eof31;
683
- case 31:
684
- #line 685 "ext/http11/http11_parser.c"
585
+ goto _test_eof24;
586
+ case 24:
587
+ #line 588 "ext/puma_http11/http11_parser.c"
685
588
  switch( (*p) ) {
686
- case 32: goto tr8;
589
+ case 32: goto tr37;
687
590
  case 34: goto st0;
688
- case 35: goto tr9;
689
- case 37: goto st32;
591
+ case 35: goto tr38;
690
592
  case 60: goto st0;
691
593
  case 62: goto st0;
692
- case 63: goto st34;
594
+ case 63: goto tr39;
693
595
  case 127: goto st0;
694
596
  }
695
597
  if ( 0 <= (*p) && (*p) <= 31 )
696
598
  goto st0;
697
- goto st31;
698
- st32:
699
- if ( ++p == pe )
700
- goto _test_eof32;
701
- case 32:
702
- if ( (*p) < 65 ) {
703
- if ( 48 <= (*p) && (*p) <= 57 )
704
- goto st33;
705
- } else if ( (*p) > 70 ) {
706
- if ( 97 <= (*p) && (*p) <= 102 )
707
- goto st33;
708
- } else
709
- goto st33;
710
- goto st0;
711
- st33:
712
- if ( ++p == pe )
713
- goto _test_eof33;
714
- case 33:
715
- if ( (*p) < 65 ) {
716
- if ( 48 <= (*p) && (*p) <= 57 )
717
- goto st31;
718
- } else if ( (*p) > 70 ) {
719
- if ( 97 <= (*p) && (*p) <= 102 )
720
- goto st31;
721
- } else
722
- goto st31;
723
- goto st0;
724
- tr46:
725
- #line 66 "ext/http11/http11_parser.rl"
599
+ goto st24;
600
+ tr39:
601
+ #line 69 "ext/puma_http11/http11_parser.rl"
726
602
  {
727
603
  parser->request_path(parser, PTR_TO(mark), LEN(mark,p));
728
604
  }
729
- goto st34;
730
- st34:
605
+ goto st25;
606
+ st25:
731
607
  if ( ++p == pe )
732
- goto _test_eof34;
733
- case 34:
734
- #line 735 "ext/http11/http11_parser.c"
608
+ goto _test_eof25;
609
+ case 25:
610
+ #line 611 "ext/puma_http11/http11_parser.c"
735
611
  switch( (*p) ) {
736
- case 32: goto tr53;
612
+ case 32: goto tr41;
737
613
  case 34: goto st0;
738
- case 35: goto tr54;
739
- case 37: goto tr55;
614
+ case 35: goto tr42;
740
615
  case 60: goto st0;
741
616
  case 62: goto st0;
742
617
  case 127: goto st0;
743
618
  }
744
619
  if ( 0 <= (*p) && (*p) <= 31 )
745
620
  goto st0;
746
- goto tr52;
747
- tr52:
748
- #line 57 "ext/http11/http11_parser.rl"
621
+ goto tr40;
622
+ tr40:
623
+ #line 60 "ext/puma_http11/http11_parser.rl"
749
624
  { MARK(query_start, p); }
750
- goto st35;
751
- st35:
625
+ goto st26;
626
+ st26:
752
627
  if ( ++p == pe )
753
- goto _test_eof35;
754
- case 35:
755
- #line 756 "ext/http11/http11_parser.c"
628
+ goto _test_eof26;
629
+ case 26:
630
+ #line 631 "ext/puma_http11/http11_parser.c"
756
631
  switch( (*p) ) {
757
- case 32: goto tr57;
632
+ case 32: goto tr44;
758
633
  case 34: goto st0;
759
- case 35: goto tr58;
760
- case 37: goto st36;
634
+ case 35: goto tr45;
761
635
  case 60: goto st0;
762
636
  case 62: goto st0;
763
637
  case 127: goto st0;
764
638
  }
765
639
  if ( 0 <= (*p) && (*p) <= 31 )
766
640
  goto st0;
767
- goto st35;
768
- tr55:
769
- #line 57 "ext/http11/http11_parser.rl"
770
- { MARK(query_start, p); }
771
- goto st36;
772
- st36:
773
- if ( ++p == pe )
774
- goto _test_eof36;
775
- case 36:
776
- #line 777 "ext/http11/http11_parser.c"
777
- if ( (*p) < 65 ) {
778
- if ( 48 <= (*p) && (*p) <= 57 )
779
- goto st37;
780
- } else if ( (*p) > 70 ) {
781
- if ( 97 <= (*p) && (*p) <= 102 )
782
- goto st37;
783
- } else
784
- goto st37;
785
- goto st0;
786
- st37:
787
- if ( ++p == pe )
788
- goto _test_eof37;
789
- case 37:
790
- if ( (*p) < 65 ) {
791
- if ( 48 <= (*p) && (*p) <= 57 )
792
- goto st35;
793
- } else if ( (*p) > 70 ) {
794
- if ( 97 <= (*p) && (*p) <= 102 )
795
- goto st35;
796
- } else
797
- goto st35;
798
- goto st0;
799
- st38:
641
+ goto st26;
642
+ st27:
800
643
  if ( ++p == pe )
801
- goto _test_eof38;
802
- case 38:
644
+ goto _test_eof27;
645
+ case 27:
803
646
  switch( (*p) ) {
804
647
  case 32: goto tr2;
805
- case 36: goto st39;
806
- case 95: goto st39;
648
+ case 36: goto st28;
649
+ case 95: goto st28;
807
650
  }
808
651
  if ( (*p) < 48 ) {
809
652
  if ( 45 <= (*p) && (*p) <= 46 )
810
- goto st39;
653
+ goto st28;
811
654
  } else if ( (*p) > 57 ) {
812
655
  if ( 65 <= (*p) && (*p) <= 90 )
813
- goto st39;
656
+ goto st28;
814
657
  } else
815
- goto st39;
658
+ goto st28;
816
659
  goto st0;
817
- st39:
660
+ st28:
818
661
  if ( ++p == pe )
819
- goto _test_eof39;
820
- case 39:
662
+ goto _test_eof28;
663
+ case 28:
821
664
  switch( (*p) ) {
822
665
  case 32: goto tr2;
823
- case 36: goto st40;
824
- case 95: goto st40;
666
+ case 36: goto st29;
667
+ case 95: goto st29;
825
668
  }
826
669
  if ( (*p) < 48 ) {
827
670
  if ( 45 <= (*p) && (*p) <= 46 )
828
- goto st40;
671
+ goto st29;
829
672
  } else if ( (*p) > 57 ) {
830
673
  if ( 65 <= (*p) && (*p) <= 90 )
831
- goto st40;
674
+ goto st29;
832
675
  } else
833
- goto st40;
676
+ goto st29;
834
677
  goto st0;
835
- st40:
678
+ st29:
836
679
  if ( ++p == pe )
837
- goto _test_eof40;
838
- case 40:
680
+ goto _test_eof29;
681
+ case 29:
839
682
  switch( (*p) ) {
840
683
  case 32: goto tr2;
841
- case 36: goto st41;
842
- case 95: goto st41;
684
+ case 36: goto st30;
685
+ case 95: goto st30;
843
686
  }
844
687
  if ( (*p) < 48 ) {
845
688
  if ( 45 <= (*p) && (*p) <= 46 )
846
- goto st41;
689
+ goto st30;
847
690
  } else if ( (*p) > 57 ) {
848
691
  if ( 65 <= (*p) && (*p) <= 90 )
849
- goto st41;
692
+ goto st30;
850
693
  } else
851
- goto st41;
694
+ goto st30;
852
695
  goto st0;
853
- st41:
696
+ st30:
854
697
  if ( ++p == pe )
855
- goto _test_eof41;
856
- case 41:
698
+ goto _test_eof30;
699
+ case 30:
857
700
  switch( (*p) ) {
858
701
  case 32: goto tr2;
859
- case 36: goto st42;
860
- case 95: goto st42;
702
+ case 36: goto st31;
703
+ case 95: goto st31;
861
704
  }
862
705
  if ( (*p) < 48 ) {
863
706
  if ( 45 <= (*p) && (*p) <= 46 )
864
- goto st42;
707
+ goto st31;
865
708
  } else if ( (*p) > 57 ) {
866
709
  if ( 65 <= (*p) && (*p) <= 90 )
867
- goto st42;
710
+ goto st31;
868
711
  } else
869
- goto st42;
712
+ goto st31;
870
713
  goto st0;
871
- st42:
714
+ st31:
872
715
  if ( ++p == pe )
873
- goto _test_eof42;
874
- case 42:
716
+ goto _test_eof31;
717
+ case 31:
875
718
  switch( (*p) ) {
876
719
  case 32: goto tr2;
877
- case 36: goto st43;
878
- case 95: goto st43;
720
+ case 36: goto st32;
721
+ case 95: goto st32;
879
722
  }
880
723
  if ( (*p) < 48 ) {
881
724
  if ( 45 <= (*p) && (*p) <= 46 )
882
- goto st43;
725
+ goto st32;
883
726
  } else if ( (*p) > 57 ) {
884
727
  if ( 65 <= (*p) && (*p) <= 90 )
885
- goto st43;
728
+ goto st32;
886
729
  } else
887
- goto st43;
730
+ goto st32;
888
731
  goto st0;
889
- st43:
732
+ st32:
890
733
  if ( ++p == pe )
891
- goto _test_eof43;
892
- case 43:
734
+ goto _test_eof32;
735
+ case 32:
893
736
  switch( (*p) ) {
894
737
  case 32: goto tr2;
895
- case 36: goto st44;
896
- case 95: goto st44;
738
+ case 36: goto st33;
739
+ case 95: goto st33;
897
740
  }
898
741
  if ( (*p) < 48 ) {
899
742
  if ( 45 <= (*p) && (*p) <= 46 )
900
- goto st44;
743
+ goto st33;
901
744
  } else if ( (*p) > 57 ) {
902
745
  if ( 65 <= (*p) && (*p) <= 90 )
903
- goto st44;
746
+ goto st33;
904
747
  } else
905
- goto st44;
748
+ goto st33;
906
749
  goto st0;
907
- st44:
750
+ st33:
908
751
  if ( ++p == pe )
909
- goto _test_eof44;
910
- case 44:
752
+ goto _test_eof33;
753
+ case 33:
911
754
  switch( (*p) ) {
912
755
  case 32: goto tr2;
913
- case 36: goto st45;
914
- case 95: goto st45;
756
+ case 36: goto st34;
757
+ case 95: goto st34;
915
758
  }
916
759
  if ( (*p) < 48 ) {
917
760
  if ( 45 <= (*p) && (*p) <= 46 )
918
- goto st45;
761
+ goto st34;
919
762
  } else if ( (*p) > 57 ) {
920
763
  if ( 65 <= (*p) && (*p) <= 90 )
921
- goto st45;
764
+ goto st34;
922
765
  } else
923
- goto st45;
766
+ goto st34;
924
767
  goto st0;
925
- st45:
768
+ st34:
926
769
  if ( ++p == pe )
927
- goto _test_eof45;
928
- case 45:
770
+ goto _test_eof34;
771
+ case 34:
929
772
  switch( (*p) ) {
930
773
  case 32: goto tr2;
931
- case 36: goto st46;
932
- case 95: goto st46;
774
+ case 36: goto st35;
775
+ case 95: goto st35;
933
776
  }
934
777
  if ( (*p) < 48 ) {
935
778
  if ( 45 <= (*p) && (*p) <= 46 )
936
- goto st46;
779
+ goto st35;
937
780
  } else if ( (*p) > 57 ) {
938
781
  if ( 65 <= (*p) && (*p) <= 90 )
939
- goto st46;
782
+ goto st35;
940
783
  } else
941
- goto st46;
784
+ goto st35;
942
785
  goto st0;
943
- st46:
786
+ st35:
944
787
  if ( ++p == pe )
945
- goto _test_eof46;
946
- case 46:
788
+ goto _test_eof35;
789
+ case 35:
947
790
  switch( (*p) ) {
948
791
  case 32: goto tr2;
949
- case 36: goto st47;
950
- case 95: goto st47;
792
+ case 36: goto st36;
793
+ case 95: goto st36;
951
794
  }
952
795
  if ( (*p) < 48 ) {
953
796
  if ( 45 <= (*p) && (*p) <= 46 )
954
- goto st47;
797
+ goto st36;
955
798
  } else if ( (*p) > 57 ) {
956
799
  if ( 65 <= (*p) && (*p) <= 90 )
957
- goto st47;
800
+ goto st36;
958
801
  } else
959
- goto st47;
802
+ goto st36;
960
803
  goto st0;
961
- st47:
804
+ st36:
962
805
  if ( ++p == pe )
963
- goto _test_eof47;
964
- case 47:
806
+ goto _test_eof36;
807
+ case 36:
965
808
  switch( (*p) ) {
966
809
  case 32: goto tr2;
967
- case 36: goto st48;
968
- case 95: goto st48;
810
+ case 36: goto st37;
811
+ case 95: goto st37;
969
812
  }
970
813
  if ( (*p) < 48 ) {
971
814
  if ( 45 <= (*p) && (*p) <= 46 )
972
- goto st48;
815
+ goto st37;
973
816
  } else if ( (*p) > 57 ) {
974
817
  if ( 65 <= (*p) && (*p) <= 90 )
975
- goto st48;
818
+ goto st37;
976
819
  } else
977
- goto st48;
820
+ goto st37;
978
821
  goto st0;
979
- st48:
822
+ st37:
980
823
  if ( ++p == pe )
981
- goto _test_eof48;
982
- case 48:
824
+ goto _test_eof37;
825
+ case 37:
983
826
  switch( (*p) ) {
984
827
  case 32: goto tr2;
985
- case 36: goto st49;
986
- case 95: goto st49;
828
+ case 36: goto st38;
829
+ case 95: goto st38;
987
830
  }
988
831
  if ( (*p) < 48 ) {
989
832
  if ( 45 <= (*p) && (*p) <= 46 )
990
- goto st49;
833
+ goto st38;
991
834
  } else if ( (*p) > 57 ) {
992
835
  if ( 65 <= (*p) && (*p) <= 90 )
993
- goto st49;
836
+ goto st38;
994
837
  } else
995
- goto st49;
838
+ goto st38;
996
839
  goto st0;
997
- st49:
840
+ st38:
998
841
  if ( ++p == pe )
999
- goto _test_eof49;
1000
- case 49:
842
+ goto _test_eof38;
843
+ case 38:
1001
844
  switch( (*p) ) {
1002
845
  case 32: goto tr2;
1003
- case 36: goto st50;
1004
- case 95: goto st50;
846
+ case 36: goto st39;
847
+ case 95: goto st39;
1005
848
  }
1006
849
  if ( (*p) < 48 ) {
1007
850
  if ( 45 <= (*p) && (*p) <= 46 )
1008
- goto st50;
851
+ goto st39;
1009
852
  } else if ( (*p) > 57 ) {
1010
853
  if ( 65 <= (*p) && (*p) <= 90 )
1011
- goto st50;
854
+ goto st39;
1012
855
  } else
1013
- goto st50;
856
+ goto st39;
1014
857
  goto st0;
1015
- st50:
858
+ st39:
1016
859
  if ( ++p == pe )
1017
- goto _test_eof50;
1018
- case 50:
860
+ goto _test_eof39;
861
+ case 39:
1019
862
  switch( (*p) ) {
1020
863
  case 32: goto tr2;
1021
- case 36: goto st51;
1022
- case 95: goto st51;
864
+ case 36: goto st40;
865
+ case 95: goto st40;
1023
866
  }
1024
867
  if ( (*p) < 48 ) {
1025
868
  if ( 45 <= (*p) && (*p) <= 46 )
1026
- goto st51;
869
+ goto st40;
1027
870
  } else if ( (*p) > 57 ) {
1028
871
  if ( 65 <= (*p) && (*p) <= 90 )
1029
- goto st51;
872
+ goto st40;
1030
873
  } else
1031
- goto st51;
874
+ goto st40;
1032
875
  goto st0;
1033
- st51:
876
+ st40:
1034
877
  if ( ++p == pe )
1035
- goto _test_eof51;
1036
- case 51:
878
+ goto _test_eof40;
879
+ case 40:
1037
880
  switch( (*p) ) {
1038
881
  case 32: goto tr2;
1039
- case 36: goto st52;
1040
- case 95: goto st52;
882
+ case 36: goto st41;
883
+ case 95: goto st41;
1041
884
  }
1042
885
  if ( (*p) < 48 ) {
1043
886
  if ( 45 <= (*p) && (*p) <= 46 )
1044
- goto st52;
887
+ goto st41;
1045
888
  } else if ( (*p) > 57 ) {
1046
889
  if ( 65 <= (*p) && (*p) <= 90 )
1047
- goto st52;
890
+ goto st41;
1048
891
  } else
1049
- goto st52;
892
+ goto st41;
1050
893
  goto st0;
1051
- st52:
894
+ st41:
1052
895
  if ( ++p == pe )
1053
- goto _test_eof52;
1054
- case 52:
896
+ goto _test_eof41;
897
+ case 41:
1055
898
  switch( (*p) ) {
1056
899
  case 32: goto tr2;
1057
- case 36: goto st53;
1058
- case 95: goto st53;
900
+ case 36: goto st42;
901
+ case 95: goto st42;
1059
902
  }
1060
903
  if ( (*p) < 48 ) {
1061
904
  if ( 45 <= (*p) && (*p) <= 46 )
1062
- goto st53;
905
+ goto st42;
1063
906
  } else if ( (*p) > 57 ) {
1064
907
  if ( 65 <= (*p) && (*p) <= 90 )
1065
- goto st53;
908
+ goto st42;
1066
909
  } else
1067
- goto st53;
910
+ goto st42;
1068
911
  goto st0;
1069
- st53:
912
+ st42:
1070
913
  if ( ++p == pe )
1071
- goto _test_eof53;
1072
- case 53:
914
+ goto _test_eof42;
915
+ case 42:
1073
916
  switch( (*p) ) {
1074
917
  case 32: goto tr2;
1075
- case 36: goto st54;
1076
- case 95: goto st54;
918
+ case 36: goto st43;
919
+ case 95: goto st43;
1077
920
  }
1078
921
  if ( (*p) < 48 ) {
1079
922
  if ( 45 <= (*p) && (*p) <= 46 )
1080
- goto st54;
923
+ goto st43;
1081
924
  } else if ( (*p) > 57 ) {
1082
925
  if ( 65 <= (*p) && (*p) <= 90 )
1083
- goto st54;
926
+ goto st43;
1084
927
  } else
1085
- goto st54;
928
+ goto st43;
1086
929
  goto st0;
1087
- st54:
930
+ st43:
1088
931
  if ( ++p == pe )
1089
- goto _test_eof54;
1090
- case 54:
932
+ goto _test_eof43;
933
+ case 43:
1091
934
  switch( (*p) ) {
1092
935
  case 32: goto tr2;
1093
- case 36: goto st55;
1094
- case 95: goto st55;
936
+ case 36: goto st44;
937
+ case 95: goto st44;
1095
938
  }
1096
939
  if ( (*p) < 48 ) {
1097
940
  if ( 45 <= (*p) && (*p) <= 46 )
1098
- goto st55;
941
+ goto st44;
1099
942
  } else if ( (*p) > 57 ) {
1100
943
  if ( 65 <= (*p) && (*p) <= 90 )
1101
- goto st55;
944
+ goto st44;
1102
945
  } else
1103
- goto st55;
946
+ goto st44;
1104
947
  goto st0;
1105
- st55:
948
+ st44:
1106
949
  if ( ++p == pe )
1107
- goto _test_eof55;
1108
- case 55:
950
+ goto _test_eof44;
951
+ case 44:
1109
952
  switch( (*p) ) {
1110
953
  case 32: goto tr2;
1111
- case 36: goto st56;
1112
- case 95: goto st56;
954
+ case 36: goto st45;
955
+ case 95: goto st45;
1113
956
  }
1114
957
  if ( (*p) < 48 ) {
1115
958
  if ( 45 <= (*p) && (*p) <= 46 )
1116
- goto st56;
959
+ goto st45;
1117
960
  } else if ( (*p) > 57 ) {
1118
961
  if ( 65 <= (*p) && (*p) <= 90 )
1119
- goto st56;
962
+ goto st45;
1120
963
  } else
1121
- goto st56;
964
+ goto st45;
1122
965
  goto st0;
1123
- st56:
966
+ st45:
1124
967
  if ( ++p == pe )
1125
- goto _test_eof56;
1126
- case 56:
968
+ goto _test_eof45;
969
+ case 45:
1127
970
  if ( (*p) == 32 )
1128
971
  goto tr2;
1129
972
  goto st0;
@@ -1143,7 +986,7 @@ case 56:
1143
986
  _test_eof14: cs = 14; goto _test_eof;
1144
987
  _test_eof15: cs = 15; goto _test_eof;
1145
988
  _test_eof16: cs = 16; goto _test_eof;
1146
- _test_eof57: cs = 57; goto _test_eof;
989
+ _test_eof46: cs = 46; goto _test_eof;
1147
990
  _test_eof17: cs = 17; goto _test_eof;
1148
991
  _test_eof18: cs = 18; goto _test_eof;
1149
992
  _test_eof19: cs = 19; goto _test_eof;
@@ -1173,25 +1016,14 @@ case 56:
1173
1016
  _test_eof43: cs = 43; goto _test_eof;
1174
1017
  _test_eof44: cs = 44; goto _test_eof;
1175
1018
  _test_eof45: cs = 45; goto _test_eof;
1176
- _test_eof46: cs = 46; goto _test_eof;
1177
- _test_eof47: cs = 47; goto _test_eof;
1178
- _test_eof48: cs = 48; goto _test_eof;
1179
- _test_eof49: cs = 49; goto _test_eof;
1180
- _test_eof50: cs = 50; goto _test_eof;
1181
- _test_eof51: cs = 51; goto _test_eof;
1182
- _test_eof52: cs = 52; goto _test_eof;
1183
- _test_eof53: cs = 53; goto _test_eof;
1184
- _test_eof54: cs = 54; goto _test_eof;
1185
- _test_eof55: cs = 55; goto _test_eof;
1186
- _test_eof56: cs = 56; goto _test_eof;
1187
1019
 
1188
1020
  _test_eof: {}
1189
1021
  _out: {}
1190
1022
  }
1191
1023
 
1192
- #line 114 "ext/http11/http11_parser.rl"
1024
+ #line 117 "ext/puma_http11/http11_parser.rl"
1193
1025
 
1194
- if (!http_parser_has_error(parser))
1026
+ if (!puma_parser_has_error(parser))
1195
1027
  parser->cs = cs;
1196
1028
  parser->nread += p - (buffer + off);
1197
1029
 
@@ -1205,21 +1037,21 @@ case 56:
1205
1037
  return(parser->nread);
1206
1038
  }
1207
1039
 
1208
- int http_parser_finish(http_parser *parser)
1040
+ int puma_parser_finish(puma_parser *parser)
1209
1041
  {
1210
- if (http_parser_has_error(parser) ) {
1042
+ if (puma_parser_has_error(parser) ) {
1211
1043
  return -1;
1212
- } else if (http_parser_is_finished(parser) ) {
1044
+ } else if (puma_parser_is_finished(parser) ) {
1213
1045
  return 1;
1214
1046
  } else {
1215
1047
  return 0;
1216
1048
  }
1217
1049
  }
1218
1050
 
1219
- int http_parser_has_error(http_parser *parser) {
1220
- return parser->cs == http_parser_error;
1051
+ int puma_parser_has_error(puma_parser *parser) {
1052
+ return parser->cs == puma_parser_error;
1221
1053
  }
1222
1054
 
1223
- int http_parser_is_finished(http_parser *parser) {
1224
- return parser->cs >= http_parser_first_final;
1055
+ int puma_parser_is_finished(puma_parser *parser) {
1056
+ return parser->cs >= puma_parser_first_final;
1225
1057
  }