ext/thin_parser/parser.c in thin-1.5.1 vs ext/thin_parser/parser.c in thin-1.6.0
- old
+ new
@@ -23,11 +23,11 @@
/** Data **/
#line 27 "parser.c"
static const int http_parser_start = 1;
-static const int http_parser_first_final = 58;
+static const int http_parser_first_final = 70;
static const int http_parser_error = 0;
static const int http_parser_en_main = 1;
@@ -63,11 +63,11 @@
p = buffer+off;
pe = buffer+len;
assert(*pe == '\0' && "pointer does not end on NUL");
- assert(pe - p == len - off && "pointers aren't same distance");
+ assert(pe - p == (long)(len - off) && "pointers aren't same distance");
#line 73 "parser.c"
{
@@ -101,21 +101,21 @@
goto _test_eof2;
case 2:
#line 104 "parser.c"
switch( (*p) ) {
case 32: goto tr2;
- case 36: goto st39;
- case 95: goto st39;
+ case 36: goto st51;
+ case 95: goto st51;
}
if ( (*p) < 48 ) {
if ( 45 <= (*p) && (*p) <= 46 )
- goto st39;
+ goto st51;
} else if ( (*p) > 57 ) {
if ( 65 <= (*p) && (*p) <= 90 )
- goto st39;
+ goto st51;
} else
- goto st39;
+ goto st51;
goto st0;
tr2:
#line 36 "parser.rl"
{
if (parser->request_method != NULL) {
@@ -128,64 +128,56 @@
goto _test_eof3;
case 3:
#line 131 "parser.c"
switch( (*p) ) {
case 42: goto tr4;
- case 43: goto tr5;
- case 47: goto tr6;
- case 58: goto tr7;
+ case 47: goto tr5;
+ case 72: goto st34;
+ case 104: goto st34;
}
- if ( (*p) < 65 ) {
- if ( 45 <= (*p) && (*p) <= 57 )
- goto tr5;
- } else if ( (*p) > 90 ) {
- if ( 97 <= (*p) && (*p) <= 122 )
- goto tr5;
- } else
- goto tr5;
goto st0;
tr4:
#line 22 "parser.rl"
{MARK(mark, p); }
goto st4;
st4:
if ( ++p == pe )
goto _test_eof4;
case 4:
-#line 155 "parser.c"
+#line 147 "parser.c"
switch( (*p) ) {
- case 32: goto tr8;
- case 35: goto tr9;
+ case 32: goto tr7;
+ case 35: goto tr8;
}
goto st0;
-tr8:
+tr7:
#line 41 "parser.rl"
{
if (parser->request_uri != NULL) {
parser->request_uri(parser->data, PTR_TO(mark), LEN(mark, p));
}
}
goto st5;
-tr31:
+tr30:
#line 22 "parser.rl"
{MARK(mark, p); }
#line 46 "parser.rl"
{
if (parser->fragment != NULL) {
parser->fragment(parser->data, PTR_TO(mark), LEN(mark, p));
}
}
goto st5;
-tr34:
+tr33:
#line 46 "parser.rl"
{
if (parser->fragment != NULL) {
parser->fragment(parser->data, PTR_TO(mark), LEN(mark, p));
}
}
goto st5;
-tr44:
+tr38:
#line 65 "parser.rl"
{
if (parser->request_path != NULL) {
parser->request_path(parser->data, PTR_TO(mark), LEN(mark,p));
}
@@ -195,11 +187,11 @@
if (parser->request_uri != NULL) {
parser->request_uri(parser->data, PTR_TO(mark), LEN(mark, p));
}
}
goto st5;
-tr51:
+tr45:
#line 52 "parser.rl"
{MARK(query_start, p); }
#line 53 "parser.rl"
{
if (parser->query_string != NULL) {
@@ -211,11 +203,11 @@
if (parser->request_uri != NULL) {
parser->request_uri(parser->data, PTR_TO(mark), LEN(mark, p));
}
}
goto st5;
-tr55:
+tr49:
#line 53 "parser.rl"
{
if (parser->query_string != NULL) {
parser->query_string(parser->data, PTR_TO(query_start), LEN(query_start, p));
}
@@ -229,23 +221,23 @@
goto st5;
st5:
if ( ++p == pe )
goto _test_eof5;
case 5:
-#line 235 "parser.c"
+#line 227 "parser.c"
if ( (*p) == 72 )
- goto tr10;
+ goto tr9;
goto st0;
-tr10:
+tr9:
#line 22 "parser.rl"
{MARK(mark, p); }
goto st6;
st6:
if ( ++p == pe )
goto _test_eof6;
case 6:
-#line 247 "parser.c"
+#line 239 "parser.c"
if ( (*p) == 84 )
goto st7;
goto st0;
st7:
if ( ++p == pe )
@@ -294,33 +286,33 @@
st13:
if ( ++p == pe )
goto _test_eof13;
case 13:
if ( (*p) == 13 )
- goto tr18;
+ goto tr17;
if ( 48 <= (*p) && (*p) <= 57 )
goto st13;
goto st0;
-tr18:
+tr17:
#line 59 "parser.rl"
{
if (parser->http_version != NULL) {
parser->http_version(parser->data, PTR_TO(mark), LEN(mark, p));
}
}
goto st14;
-tr26:
+tr25:
#line 30 "parser.rl"
{ MARK(mark, p); }
#line 31 "parser.rl"
{
if (parser->http_field != NULL) {
parser->http_field(parser->data, PTR_TO(field_start), parser->field_len, PTR_TO(mark), LEN(mark, p));
}
}
goto st14;
-tr29:
+tr28:
#line 31 "parser.rl"
{
if (parser->http_field != NULL) {
parser->http_field(parser->data, PTR_TO(field_start), parser->field_len, PTR_TO(mark), LEN(mark, p));
}
@@ -328,77 +320,77 @@
goto st14;
st14:
if ( ++p == pe )
goto _test_eof14;
case 14:
-#line 334 "parser.c"
+#line 326 "parser.c"
if ( (*p) == 10 )
goto st15;
goto st0;
st15:
if ( ++p == pe )
goto _test_eof15;
case 15:
switch( (*p) ) {
case 13: goto st16;
- case 33: goto tr21;
- case 124: goto tr21;
- case 126: goto tr21;
+ case 33: goto tr20;
+ case 124: goto tr20;
+ case 126: goto tr20;
}
if ( (*p) < 45 ) {
if ( (*p) > 39 ) {
if ( 42 <= (*p) && (*p) <= 43 )
- goto tr21;
+ goto tr20;
} else if ( (*p) >= 35 )
- goto tr21;
+ goto tr20;
} else if ( (*p) > 46 ) {
if ( (*p) < 65 ) {
if ( 48 <= (*p) && (*p) <= 57 )
- goto tr21;
+ goto tr20;
} else if ( (*p) > 90 ) {
if ( 94 <= (*p) && (*p) <= 122 )
- goto tr21;
+ goto tr20;
} else
- goto tr21;
+ goto tr20;
} else
- goto tr21;
+ goto tr20;
goto st0;
st16:
if ( ++p == pe )
goto _test_eof16;
case 16:
if ( (*p) == 10 )
- goto tr22;
+ goto tr21;
goto st0;
-tr22:
+tr21:
#line 71 "parser.rl"
{
parser->body_start = p - buffer + 1;
if (parser->header_done != NULL) {
parser->header_done(parser->data, p + 1, pe - p - 1);
}
- {p++; cs = 58; goto _out;}
+ {p++; cs = 70; goto _out;}
}
- goto st58;
-st58:
+ goto st70;
+st70:
if ( ++p == pe )
- goto _test_eof58;
-case 58:
-#line 387 "parser.c"
+ goto _test_eof70;
+case 70:
+#line 379 "parser.c"
goto st0;
-tr21:
+tr20:
#line 25 "parser.rl"
{ MARK(field_start, p); }
goto st17;
st17:
if ( ++p == pe )
goto _test_eof17;
case 17:
-#line 397 "parser.c"
+#line 389 "parser.c"
switch( (*p) ) {
case 33: goto st17;
- case 58: goto tr24;
+ case 58: goto tr23;
case 124: goto st17;
case 126: goto st17;
}
if ( (*p) < 45 ) {
if ( (*p) > 39 ) {
@@ -416,51 +408,51 @@
} else
goto st17;
} else
goto st17;
goto st0;
-tr24:
+tr23:
#line 26 "parser.rl"
{
parser->field_len = LEN(field_start, p);
}
goto st18;
-tr27:
+tr26:
#line 30 "parser.rl"
{ MARK(mark, p); }
goto st18;
st18:
if ( ++p == pe )
goto _test_eof18;
case 18:
-#line 436 "parser.c"
+#line 428 "parser.c"
switch( (*p) ) {
- case 13: goto tr26;
- case 32: goto tr27;
+ case 13: goto tr25;
+ case 32: goto tr26;
}
- goto tr25;
-tr25:
+ goto tr24;
+tr24:
#line 30 "parser.rl"
{ MARK(mark, p); }
goto st19;
st19:
if ( ++p == pe )
goto _test_eof19;
case 19:
-#line 450 "parser.c"
+#line 442 "parser.c"
if ( (*p) == 13 )
- goto tr29;
+ goto tr28;
goto st19;
-tr9:
+tr8:
#line 41 "parser.rl"
{
if (parser->request_uri != NULL) {
parser->request_uri(parser->data, PTR_TO(mark), LEN(mark, p));
}
}
goto st20;
-tr45:
+tr39:
#line 65 "parser.rl"
{
if (parser->request_path != NULL) {
parser->request_path(parser->data, PTR_TO(mark), LEN(mark,p));
}
@@ -470,11 +462,11 @@
if (parser->request_uri != NULL) {
parser->request_uri(parser->data, PTR_TO(mark), LEN(mark, p));
}
}
goto st20;
-tr52:
+tr46:
#line 52 "parser.rl"
{MARK(query_start, p); }
#line 53 "parser.rl"
{
if (parser->query_string != NULL) {
@@ -486,11 +478,11 @@
if (parser->request_uri != NULL) {
parser->request_uri(parser->data, PTR_TO(mark), LEN(mark, p));
}
}
goto st20;
-tr56:
+tr50:
#line 53 "parser.rl"
{
if (parser->query_string != NULL) {
parser->query_string(parser->data, PTR_TO(query_start), LEN(query_start, p));
}
@@ -504,47 +496,47 @@
goto st20;
st20:
if ( ++p == pe )
goto _test_eof20;
case 20:
-#line 510 "parser.c"
+#line 502 "parser.c"
switch( (*p) ) {
- case 32: goto tr31;
+ case 32: goto tr30;
case 35: goto st0;
- case 37: goto tr32;
+ case 37: goto tr31;
case 127: goto st0;
}
if ( 0 <= (*p) && (*p) <= 31 )
goto st0;
- goto tr30;
-tr30:
+ goto tr29;
+tr29:
#line 22 "parser.rl"
{MARK(mark, p); }
goto st21;
st21:
if ( ++p == pe )
goto _test_eof21;
case 21:
-#line 528 "parser.c"
+#line 520 "parser.c"
switch( (*p) ) {
- case 32: goto tr34;
+ case 32: goto tr33;
case 35: goto st0;
case 37: goto st22;
case 127: goto st0;
}
if ( 0 <= (*p) && (*p) <= 31 )
goto st0;
goto st21;
-tr32:
+tr31:
#line 22 "parser.rl"
{MARK(mark, p); }
goto st22;
st22:
if ( ++p == pe )
goto _test_eof22;
case 22:
-#line 546 "parser.c"
+#line 538 "parser.c"
if ( (*p) == 117 )
goto st24;
if ( (*p) < 65 ) {
if ( 48 <= (*p) && (*p) <= 57 )
goto st23;
@@ -586,109 +578,111 @@
goto st25;
st25:
if ( ++p == pe )
goto _test_eof25;
case 25:
-#line 592 "parser.c"
+#line 584 "parser.c"
switch( (*p) ) {
- case 43: goto st25;
- case 58: goto st26;
+ case 32: goto tr38;
+ case 35: goto tr39;
+ case 37: goto st26;
+ case 63: goto tr41;
+ case 127: goto st0;
}
- if ( (*p) < 48 ) {
- if ( 45 <= (*p) && (*p) <= 46 )
- goto st25;
- } else if ( (*p) > 57 ) {
- if ( (*p) > 90 ) {
- if ( 97 <= (*p) && (*p) <= 122 )
- goto st25;
- } else if ( (*p) >= 65 )
- goto st25;
- } else
- goto st25;
- goto st0;
-tr7:
-#line 22 "parser.rl"
- {MARK(mark, p); }
- goto st26;
+ if ( 0 <= (*p) && (*p) <= 31 )
+ goto st0;
+ goto st25;
st26:
if ( ++p == pe )
goto _test_eof26;
case 26:
-#line 617 "parser.c"
- switch( (*p) ) {
- case 32: goto tr8;
- case 35: goto tr9;
- case 37: goto st27;
- case 127: goto st0;
- }
- if ( 0 <= (*p) && (*p) <= 31 )
- goto st0;
- goto st26;
+ if ( (*p) == 117 )
+ goto st28;
+ if ( (*p) < 65 ) {
+ if ( 48 <= (*p) && (*p) <= 57 )
+ goto st27;
+ } else if ( (*p) > 70 ) {
+ if ( 97 <= (*p) && (*p) <= 102 )
+ goto st27;
+ } else
+ goto st27;
+ goto st0;
st27:
if ( ++p == pe )
goto _test_eof27;
case 27:
- if ( (*p) == 117 )
- goto st29;
if ( (*p) < 65 ) {
if ( 48 <= (*p) && (*p) <= 57 )
- goto st28;
+ goto st25;
} else if ( (*p) > 70 ) {
if ( 97 <= (*p) && (*p) <= 102 )
- goto st28;
+ goto st25;
} else
- goto st28;
+ goto st25;
goto st0;
st28:
if ( ++p == pe )
goto _test_eof28;
case 28:
if ( (*p) < 65 ) {
if ( 48 <= (*p) && (*p) <= 57 )
- goto st26;
+ goto st27;
} else if ( (*p) > 70 ) {
if ( 97 <= (*p) && (*p) <= 102 )
- goto st26;
+ goto st27;
} else
- goto st26;
+ goto st27;
goto st0;
+tr41:
+#line 65 "parser.rl"
+ {
+ if (parser->request_path != NULL) {
+ parser->request_path(parser->data, PTR_TO(mark), LEN(mark,p));
+ }
+ }
+ goto st29;
st29:
if ( ++p == pe )
goto _test_eof29;
case 29:
- if ( (*p) < 65 ) {
- if ( 48 <= (*p) && (*p) <= 57 )
- goto st28;
- } else if ( (*p) > 70 ) {
- if ( 97 <= (*p) && (*p) <= 102 )
- goto st28;
- } else
- goto st28;
- goto st0;
-tr6:
-#line 22 "parser.rl"
- {MARK(mark, p); }
+#line 648 "parser.c"
+ switch( (*p) ) {
+ case 32: goto tr45;
+ case 35: goto tr46;
+ case 37: goto tr47;
+ case 127: goto st0;
+ }
+ if ( 0 <= (*p) && (*p) <= 31 )
+ goto st0;
+ goto tr44;
+tr44:
+#line 52 "parser.rl"
+ {MARK(query_start, p); }
goto st30;
st30:
if ( ++p == pe )
goto _test_eof30;
case 30:
-#line 676 "parser.c"
+#line 666 "parser.c"
switch( (*p) ) {
- case 32: goto tr44;
- case 35: goto tr45;
+ case 32: goto tr49;
+ case 35: goto tr50;
case 37: goto st31;
- case 63: goto tr47;
case 127: goto st0;
}
if ( 0 <= (*p) && (*p) <= 31 )
goto st0;
goto st30;
+tr47:
+#line 52 "parser.rl"
+ {MARK(query_start, p); }
+ goto st31;
st31:
if ( ++p == pe )
goto _test_eof31;
case 31:
+#line 684 "parser.c"
if ( (*p) == 117 )
goto st33;
if ( (*p) < 65 ) {
if ( 48 <= (*p) && (*p) <= 57 )
goto st32;
@@ -722,311 +716,292 @@
if ( 97 <= (*p) && (*p) <= 102 )
goto st32;
} else
goto st32;
goto st0;
-tr47:
-#line 65 "parser.rl"
- {
- if (parser->request_path != NULL) {
- parser->request_path(parser->data, PTR_TO(mark), LEN(mark,p));
- }
- }
- goto st34;
st34:
if ( ++p == pe )
goto _test_eof34;
case 34:
-#line 740 "parser.c"
switch( (*p) ) {
- case 32: goto tr51;
- case 35: goto tr52;
- case 37: goto tr53;
- case 127: goto st0;
+ case 84: goto st35;
+ case 116: goto st35;
}
- if ( 0 <= (*p) && (*p) <= 31 )
- goto st0;
- goto tr50;
-tr50:
-#line 52 "parser.rl"
- {MARK(query_start, p); }
- goto st35;
+ goto st0;
st35:
if ( ++p == pe )
goto _test_eof35;
case 35:
-#line 758 "parser.c"
switch( (*p) ) {
- case 32: goto tr55;
- case 35: goto tr56;
- case 37: goto st36;
- case 127: goto st0;
+ case 84: goto st36;
+ case 116: goto st36;
}
- if ( 0 <= (*p) && (*p) <= 31 )
- goto st0;
- goto st35;
-tr53:
-#line 52 "parser.rl"
- {MARK(query_start, p); }
- goto st36;
+ goto st0;
st36:
if ( ++p == pe )
goto _test_eof36;
case 36:
-#line 776 "parser.c"
- if ( (*p) == 117 )
- goto st38;
- if ( (*p) < 65 ) {
- if ( 48 <= (*p) && (*p) <= 57 )
- goto st37;
- } else if ( (*p) > 70 ) {
- if ( 97 <= (*p) && (*p) <= 102 )
- goto st37;
- } else
- goto st37;
+ switch( (*p) ) {
+ case 80: goto st37;
+ case 112: goto st37;
+ }
goto st0;
st37:
if ( ++p == pe )
goto _test_eof37;
case 37:
- if ( (*p) < 65 ) {
- if ( 48 <= (*p) && (*p) <= 57 )
- goto st35;
- } else if ( (*p) > 70 ) {
- if ( 97 <= (*p) && (*p) <= 102 )
- goto st35;
- } else
- goto st35;
+ switch( (*p) ) {
+ case 58: goto st38;
+ case 83: goto st50;
+ case 115: goto st50;
+ }
goto st0;
st38:
if ( ++p == pe )
goto _test_eof38;
case 38:
- if ( (*p) < 65 ) {
- if ( 48 <= (*p) && (*p) <= 57 )
- goto st37;
- } else if ( (*p) > 70 ) {
- if ( 97 <= (*p) && (*p) <= 102 )
- goto st37;
- } else
- goto st37;
+ if ( (*p) == 47 )
+ goto st39;
goto st0;
st39:
if ( ++p == pe )
goto _test_eof39;
case 39:
- switch( (*p) ) {
- case 32: goto tr2;
- case 36: goto st40;
- case 95: goto st40;
- }
- if ( (*p) < 48 ) {
- if ( 45 <= (*p) && (*p) <= 46 )
- goto st40;
- } else if ( (*p) > 57 ) {
- if ( 65 <= (*p) && (*p) <= 90 )
- goto st40;
- } else
+ if ( (*p) == 47 )
goto st40;
goto st0;
st40:
if ( ++p == pe )
goto _test_eof40;
case 40:
switch( (*p) ) {
- case 32: goto tr2;
- case 36: goto st41;
- case 95: goto st41;
+ case 37: goto st42;
+ case 47: goto st0;
+ case 60: goto st0;
+ case 91: goto st47;
+ case 95: goto st45;
+ case 127: goto st0;
}
- if ( (*p) < 48 ) {
- if ( 45 <= (*p) && (*p) <= 46 )
- goto st41;
+ if ( (*p) < 45 ) {
+ if ( (*p) > 32 ) {
+ if ( 34 <= (*p) && (*p) <= 35 )
+ goto st0;
+ } else if ( (*p) >= 0 )
+ goto st0;
} else if ( (*p) > 57 ) {
- if ( 65 <= (*p) && (*p) <= 90 )
- goto st41;
+ if ( (*p) < 65 ) {
+ if ( 62 <= (*p) && (*p) <= 64 )
+ goto st0;
+ } else if ( (*p) > 90 ) {
+ if ( 97 <= (*p) && (*p) <= 122 )
+ goto st45;
+ } else
+ goto st45;
} else
- goto st41;
- goto st0;
+ goto st45;
+ goto st41;
st41:
if ( ++p == pe )
goto _test_eof41;
case 41:
switch( (*p) ) {
- case 32: goto tr2;
- case 36: goto st42;
- case 95: goto st42;
+ case 37: goto st42;
+ case 47: goto st0;
+ case 60: goto st0;
+ case 64: goto st40;
+ case 127: goto st0;
}
- if ( (*p) < 48 ) {
- if ( 45 <= (*p) && (*p) <= 46 )
- goto st42;
- } else if ( (*p) > 57 ) {
- if ( 65 <= (*p) && (*p) <= 90 )
- goto st42;
+ if ( (*p) < 34 ) {
+ if ( 0 <= (*p) && (*p) <= 32 )
+ goto st0;
+ } else if ( (*p) > 35 ) {
+ if ( 62 <= (*p) && (*p) <= 63 )
+ goto st0;
} else
- goto st42;
- goto st0;
+ goto st0;
+ goto st41;
st42:
if ( ++p == pe )
goto _test_eof42;
case 42:
- switch( (*p) ) {
- case 32: goto tr2;
- case 36: goto st43;
- case 95: goto st43;
- }
- if ( (*p) < 48 ) {
- if ( 45 <= (*p) && (*p) <= 46 )
+ if ( (*p) == 117 )
+ goto st44;
+ if ( (*p) < 65 ) {
+ if ( 48 <= (*p) && (*p) <= 57 )
goto st43;
- } else if ( (*p) > 57 ) {
- if ( 65 <= (*p) && (*p) <= 90 )
+ } else if ( (*p) > 70 ) {
+ if ( 97 <= (*p) && (*p) <= 102 )
goto st43;
} else
goto st43;
goto st0;
st43:
if ( ++p == pe )
goto _test_eof43;
case 43:
- switch( (*p) ) {
- case 32: goto tr2;
- case 36: goto st44;
- case 95: goto st44;
- }
- if ( (*p) < 48 ) {
- if ( 45 <= (*p) && (*p) <= 46 )
- goto st44;
- } else if ( (*p) > 57 ) {
- if ( 65 <= (*p) && (*p) <= 90 )
- goto st44;
+ if ( (*p) < 65 ) {
+ if ( 48 <= (*p) && (*p) <= 57 )
+ goto st41;
+ } else if ( (*p) > 70 ) {
+ if ( 97 <= (*p) && (*p) <= 102 )
+ goto st41;
} else
- goto st44;
+ goto st41;
goto st0;
st44:
if ( ++p == pe )
goto _test_eof44;
case 44:
- switch( (*p) ) {
- case 32: goto tr2;
- case 36: goto st45;
- case 95: goto st45;
- }
- if ( (*p) < 48 ) {
- if ( 45 <= (*p) && (*p) <= 46 )
- goto st45;
- } else if ( (*p) > 57 ) {
- if ( 65 <= (*p) && (*p) <= 90 )
- goto st45;
+ if ( (*p) < 65 ) {
+ if ( 48 <= (*p) && (*p) <= 57 )
+ goto st43;
+ } else if ( (*p) > 70 ) {
+ if ( 97 <= (*p) && (*p) <= 102 )
+ goto st43;
} else
- goto st45;
+ goto st43;
goto st0;
st45:
if ( ++p == pe )
goto _test_eof45;
case 45:
switch( (*p) ) {
- case 32: goto tr2;
- case 36: goto st46;
- case 95: goto st46;
+ case 37: goto st42;
+ case 47: goto tr5;
+ case 58: goto st46;
+ case 60: goto st0;
+ case 64: goto st40;
+ case 95: goto st45;
+ case 127: goto st0;
}
- if ( (*p) < 48 ) {
- if ( 45 <= (*p) && (*p) <= 46 )
- goto st46;
+ if ( (*p) < 45 ) {
+ if ( (*p) > 32 ) {
+ if ( 34 <= (*p) && (*p) <= 35 )
+ goto st0;
+ } else if ( (*p) >= 0 )
+ goto st0;
} else if ( (*p) > 57 ) {
- if ( 65 <= (*p) && (*p) <= 90 )
- goto st46;
+ if ( (*p) < 65 ) {
+ if ( 62 <= (*p) && (*p) <= 63 )
+ goto st0;
+ } else if ( (*p) > 90 ) {
+ if ( 97 <= (*p) && (*p) <= 122 )
+ goto st45;
+ } else
+ goto st45;
} else
- goto st46;
- goto st0;
+ goto st45;
+ goto st41;
st46:
if ( ++p == pe )
goto _test_eof46;
case 46:
switch( (*p) ) {
- case 32: goto tr2;
- case 36: goto st47;
- case 95: goto st47;
+ case 37: goto st42;
+ case 47: goto tr5;
+ case 60: goto st0;
+ case 64: goto st40;
+ case 127: goto st0;
}
- if ( (*p) < 48 ) {
- if ( 45 <= (*p) && (*p) <= 46 )
- goto st47;
- } else if ( (*p) > 57 ) {
- if ( 65 <= (*p) && (*p) <= 90 )
- goto st47;
+ if ( (*p) < 34 ) {
+ if ( 0 <= (*p) && (*p) <= 32 )
+ goto st0;
+ } else if ( (*p) > 35 ) {
+ if ( (*p) > 57 ) {
+ if ( 62 <= (*p) && (*p) <= 63 )
+ goto st0;
+ } else if ( (*p) >= 48 )
+ goto st46;
} else
- goto st47;
- goto st0;
+ goto st0;
+ goto st41;
st47:
if ( ++p == pe )
goto _test_eof47;
case 47:
switch( (*p) ) {
- case 32: goto tr2;
- case 36: goto st48;
- case 95: goto st48;
+ case 37: goto st42;
+ case 47: goto st0;
+ case 60: goto st0;
+ case 64: goto st40;
+ case 127: goto st0;
}
if ( (*p) < 48 ) {
- if ( 45 <= (*p) && (*p) <= 46 )
+ if ( (*p) > 32 ) {
+ if ( 34 <= (*p) && (*p) <= 35 )
+ goto st0;
+ } else if ( (*p) >= 0 )
+ goto st0;
+ } else if ( (*p) > 58 ) {
+ if ( (*p) < 65 ) {
+ if ( 62 <= (*p) && (*p) <= 63 )
+ goto st0;
+ } else if ( (*p) > 70 ) {
+ if ( 97 <= (*p) && (*p) <= 102 )
+ goto st48;
+ } else
goto st48;
- } else if ( (*p) > 57 ) {
- if ( 65 <= (*p) && (*p) <= 90 )
- goto st48;
} else
goto st48;
- goto st0;
+ goto st41;
st48:
if ( ++p == pe )
goto _test_eof48;
case 48:
switch( (*p) ) {
- case 32: goto tr2;
- case 36: goto st49;
- case 95: goto st49;
+ case 37: goto st42;
+ case 47: goto st0;
+ case 60: goto st0;
+ case 64: goto st40;
+ case 93: goto st49;
+ case 127: goto st0;
}
if ( (*p) < 48 ) {
- if ( 45 <= (*p) && (*p) <= 46 )
- goto st49;
- } else if ( (*p) > 57 ) {
- if ( 65 <= (*p) && (*p) <= 90 )
- goto st49;
+ if ( (*p) > 32 ) {
+ if ( 34 <= (*p) && (*p) <= 35 )
+ goto st0;
+ } else if ( (*p) >= 0 )
+ goto st0;
+ } else if ( (*p) > 58 ) {
+ if ( (*p) < 65 ) {
+ if ( 62 <= (*p) && (*p) <= 63 )
+ goto st0;
+ } else if ( (*p) > 70 ) {
+ if ( 97 <= (*p) && (*p) <= 102 )
+ goto st48;
+ } else
+ goto st48;
} else
- goto st49;
- goto st0;
+ goto st48;
+ goto st41;
st49:
if ( ++p == pe )
goto _test_eof49;
case 49:
switch( (*p) ) {
- case 32: goto tr2;
- case 36: goto st50;
- case 95: goto st50;
+ case 37: goto st42;
+ case 47: goto tr5;
+ case 58: goto st46;
+ case 60: goto st0;
+ case 64: goto st40;
+ case 127: goto st0;
}
- if ( (*p) < 48 ) {
- if ( 45 <= (*p) && (*p) <= 46 )
- goto st50;
- } else if ( (*p) > 57 ) {
- if ( 65 <= (*p) && (*p) <= 90 )
- goto st50;
+ if ( (*p) < 34 ) {
+ if ( 0 <= (*p) && (*p) <= 32 )
+ goto st0;
+ } else if ( (*p) > 35 ) {
+ if ( 62 <= (*p) && (*p) <= 63 )
+ goto st0;
} else
- goto st50;
- goto st0;
+ goto st0;
+ goto st41;
st50:
if ( ++p == pe )
goto _test_eof50;
case 50:
- switch( (*p) ) {
- case 32: goto tr2;
- case 36: goto st51;
- case 95: goto st51;
- }
- if ( (*p) < 48 ) {
- if ( 45 <= (*p) && (*p) <= 46 )
- goto st51;
- } else if ( (*p) > 57 ) {
- if ( 65 <= (*p) && (*p) <= 90 )
- goto st51;
- } else
- goto st51;
+ if ( (*p) == 58 )
+ goto st38;
goto st0;
st51:
if ( ++p == pe )
goto _test_eof51;
case 51:
@@ -1136,10 +1111,226 @@
goto st0;
st57:
if ( ++p == pe )
goto _test_eof57;
case 57:
+ switch( (*p) ) {
+ case 32: goto tr2;
+ case 36: goto st58;
+ case 95: goto st58;
+ }
+ if ( (*p) < 48 ) {
+ if ( 45 <= (*p) && (*p) <= 46 )
+ goto st58;
+ } else if ( (*p) > 57 ) {
+ if ( 65 <= (*p) && (*p) <= 90 )
+ goto st58;
+ } else
+ goto st58;
+ goto st0;
+st58:
+ if ( ++p == pe )
+ goto _test_eof58;
+case 58:
+ switch( (*p) ) {
+ case 32: goto tr2;
+ case 36: goto st59;
+ case 95: goto st59;
+ }
+ if ( (*p) < 48 ) {
+ if ( 45 <= (*p) && (*p) <= 46 )
+ goto st59;
+ } else if ( (*p) > 57 ) {
+ if ( 65 <= (*p) && (*p) <= 90 )
+ goto st59;
+ } else
+ goto st59;
+ goto st0;
+st59:
+ if ( ++p == pe )
+ goto _test_eof59;
+case 59:
+ switch( (*p) ) {
+ case 32: goto tr2;
+ case 36: goto st60;
+ case 95: goto st60;
+ }
+ if ( (*p) < 48 ) {
+ if ( 45 <= (*p) && (*p) <= 46 )
+ goto st60;
+ } else if ( (*p) > 57 ) {
+ if ( 65 <= (*p) && (*p) <= 90 )
+ goto st60;
+ } else
+ goto st60;
+ goto st0;
+st60:
+ if ( ++p == pe )
+ goto _test_eof60;
+case 60:
+ switch( (*p) ) {
+ case 32: goto tr2;
+ case 36: goto st61;
+ case 95: goto st61;
+ }
+ if ( (*p) < 48 ) {
+ if ( 45 <= (*p) && (*p) <= 46 )
+ goto st61;
+ } else if ( (*p) > 57 ) {
+ if ( 65 <= (*p) && (*p) <= 90 )
+ goto st61;
+ } else
+ goto st61;
+ goto st0;
+st61:
+ if ( ++p == pe )
+ goto _test_eof61;
+case 61:
+ switch( (*p) ) {
+ case 32: goto tr2;
+ case 36: goto st62;
+ case 95: goto st62;
+ }
+ if ( (*p) < 48 ) {
+ if ( 45 <= (*p) && (*p) <= 46 )
+ goto st62;
+ } else if ( (*p) > 57 ) {
+ if ( 65 <= (*p) && (*p) <= 90 )
+ goto st62;
+ } else
+ goto st62;
+ goto st0;
+st62:
+ if ( ++p == pe )
+ goto _test_eof62;
+case 62:
+ switch( (*p) ) {
+ case 32: goto tr2;
+ case 36: goto st63;
+ case 95: goto st63;
+ }
+ if ( (*p) < 48 ) {
+ if ( 45 <= (*p) && (*p) <= 46 )
+ goto st63;
+ } else if ( (*p) > 57 ) {
+ if ( 65 <= (*p) && (*p) <= 90 )
+ goto st63;
+ } else
+ goto st63;
+ goto st0;
+st63:
+ if ( ++p == pe )
+ goto _test_eof63;
+case 63:
+ switch( (*p) ) {
+ case 32: goto tr2;
+ case 36: goto st64;
+ case 95: goto st64;
+ }
+ if ( (*p) < 48 ) {
+ if ( 45 <= (*p) && (*p) <= 46 )
+ goto st64;
+ } else if ( (*p) > 57 ) {
+ if ( 65 <= (*p) && (*p) <= 90 )
+ goto st64;
+ } else
+ goto st64;
+ goto st0;
+st64:
+ if ( ++p == pe )
+ goto _test_eof64;
+case 64:
+ switch( (*p) ) {
+ case 32: goto tr2;
+ case 36: goto st65;
+ case 95: goto st65;
+ }
+ if ( (*p) < 48 ) {
+ if ( 45 <= (*p) && (*p) <= 46 )
+ goto st65;
+ } else if ( (*p) > 57 ) {
+ if ( 65 <= (*p) && (*p) <= 90 )
+ goto st65;
+ } else
+ goto st65;
+ goto st0;
+st65:
+ if ( ++p == pe )
+ goto _test_eof65;
+case 65:
+ switch( (*p) ) {
+ case 32: goto tr2;
+ case 36: goto st66;
+ case 95: goto st66;
+ }
+ if ( (*p) < 48 ) {
+ if ( 45 <= (*p) && (*p) <= 46 )
+ goto st66;
+ } else if ( (*p) > 57 ) {
+ if ( 65 <= (*p) && (*p) <= 90 )
+ goto st66;
+ } else
+ goto st66;
+ goto st0;
+st66:
+ if ( ++p == pe )
+ goto _test_eof66;
+case 66:
+ switch( (*p) ) {
+ case 32: goto tr2;
+ case 36: goto st67;
+ case 95: goto st67;
+ }
+ if ( (*p) < 48 ) {
+ if ( 45 <= (*p) && (*p) <= 46 )
+ goto st67;
+ } else if ( (*p) > 57 ) {
+ if ( 65 <= (*p) && (*p) <= 90 )
+ goto st67;
+ } else
+ goto st67;
+ goto st0;
+st67:
+ if ( ++p == pe )
+ goto _test_eof67;
+case 67:
+ switch( (*p) ) {
+ case 32: goto tr2;
+ case 36: goto st68;
+ case 95: goto st68;
+ }
+ if ( (*p) < 48 ) {
+ if ( 45 <= (*p) && (*p) <= 46 )
+ goto st68;
+ } else if ( (*p) > 57 ) {
+ if ( 65 <= (*p) && (*p) <= 90 )
+ goto st68;
+ } else
+ goto st68;
+ goto st0;
+st68:
+ if ( ++p == pe )
+ goto _test_eof68;
+case 68:
+ switch( (*p) ) {
+ case 32: goto tr2;
+ case 36: goto st69;
+ case 95: goto st69;
+ }
+ if ( (*p) < 48 ) {
+ if ( 45 <= (*p) && (*p) <= 46 )
+ goto st69;
+ } else if ( (*p) > 57 ) {
+ if ( 65 <= (*p) && (*p) <= 90 )
+ goto st69;
+ } else
+ goto st69;
+ goto st0;
+st69:
+ if ( ++p == pe )
+ goto _test_eof69;
+case 69:
if ( (*p) == 32 )
goto tr2;
goto st0;
}
_test_eof2: cs = 2; goto _test_eof;
@@ -1155,11 +1346,11 @@
_test_eof12: cs = 12; goto _test_eof;
_test_eof13: cs = 13; goto _test_eof;
_test_eof14: cs = 14; goto _test_eof;
_test_eof15: cs = 15; goto _test_eof;
_test_eof16: cs = 16; goto _test_eof;
- _test_eof58: cs = 58; goto _test_eof;
+ _test_eof70: cs = 70; goto _test_eof;
_test_eof17: cs = 17; goto _test_eof;
_test_eof18: cs = 18; goto _test_eof;
_test_eof19: cs = 19; goto _test_eof;
_test_eof20: cs = 20; goto _test_eof;
_test_eof21: cs = 21; goto _test_eof;
@@ -1197,10 +1388,22 @@
_test_eof53: cs = 53; goto _test_eof;
_test_eof54: cs = 54; goto _test_eof;
_test_eof55: cs = 55; goto _test_eof;
_test_eof56: cs = 56; goto _test_eof;
_test_eof57: cs = 57; goto _test_eof;
+ _test_eof58: cs = 58; goto _test_eof;
+ _test_eof59: cs = 59; goto _test_eof;
+ _test_eof60: cs = 60; goto _test_eof;
+ _test_eof61: cs = 61; goto _test_eof;
+ _test_eof62: cs = 62; goto _test_eof;
+ _test_eof63: cs = 63; goto _test_eof;
+ _test_eof64: cs = 64; goto _test_eof;
+ _test_eof65: cs = 65; goto _test_eof;
+ _test_eof66: cs = 66; goto _test_eof;
+ _test_eof67: cs = 67; goto _test_eof;
+ _test_eof68: cs = 68; goto _test_eof;
+ _test_eof69: cs = 69; goto _test_eof;
_test_eof: {}
_out: {}
}
@@ -1222,10 +1425,18 @@
}
return(parser->nread);
}
+int thin_http_parser_has_error(http_parser *parser) {
+ return parser->cs == http_parser_error;
+}
+
+int thin_http_parser_is_finished(http_parser *parser) {
+ return parser->cs == http_parser_first_final;
+}
+
int thin_http_parser_finish(http_parser *parser)
{
int cs = parser->cs;
@@ -1236,14 +1447,6 @@
} else if (thin_http_parser_is_finished(parser) ) {
return 1;
} else {
return 0;
}
-}
-
-int thin_http_parser_has_error(http_parser *parser) {
- return parser->cs == http_parser_error;
-}
-
-int thin_http_parser_is_finished(http_parser *parser) {
- return parser->cs == http_parser_first_final;
}