@@ -18,7 +18,7 @@ class GrammarParser {
1818
1919 static final List<String> _expect100 = <String>["Digest"];
2020
21- static final List<String> _expect101 = <String>["algorithm", "domain", "nonce", "opaque", "qop", "realm", "stale"];
21+ static final List<String> _expect101 = <String>["!", "%", "\'", "*", "+", "-", ".", "_", "`", " algorithm", "alphanum", " domain", "nonce", "opaque", "qop", "realm", "stale", "~ "];
2222
2323 static final List<String> _expect102 = <String>["realm"];
2424
@@ -34,7 +34,7 @@ class GrammarParser {
3434
3535 static final List<String> _expect108 = <String>["algorithm"];
3636
37- static final List<String> _expect109 = <String>["!", "%", "\'", "*", "+", "-", ".", "MD5", "MD5-sess", "_", "`", "alphanum", "~"];
37+ static final List<String> _expect109 = <String>["!", "%", "\'", "*", "+", "-", ".", "DQUOTE", " MD5", "MD5-sess", "_", "`", "alphanum", "~"];
3838
3939 static final List<String> _expect11 = <String>["mark"];
4040
@@ -282,7 +282,7 @@ class GrammarParser {
282282
283283 static final List<String> _expect99 = <String>["!", "%", "\'", "*", "+", "-", ".", "Digest", "_", "`", "alphanum", "~"];
284284
285- static final List<bool> _lookahead = _unmap([0x2800001, 0x1fc0093, 0x700000, 0x51a00000, 0x7e03ff6c, 0x7f0fffff, 0x271fffff, 0x7dafffdf, 0x7effffff, 0x77fffff, 0x780ffd9e, 0x743fffff, 0xc7fffff, 0x33c, 0x8000000, 0x18000000, 0x603ff2ca, 0x70ffffff, 0x31ffffff, 0x557ffffe, 0x21ffffff, 0x63ffffff, 0xffcb28, 0x47ffffff, 0x47ffffff, 0x3fff7f9, 0x2ffffffe, 0xffffffd, 0x7ffefb3, 0x5ffffffd, 0x1ffffffa, 0x5ffeffe6, 0x1ffffffe, 0x3ffffff4, 0x3fffffcc, 0x3ffffffd, 0x7fffffe8, 0x3ffbff98, 0x7ffffff2, 0x7fffffd0, 0x7ff7ff31, 0x7fffffe5, 0x7fffffa1, 0x7f000063, 0x7e07ffff, 0x3fffffff, 0x7fffffc0, 0x7fffff81, 0x7ff80fff, 0x7ff07fff, 0x440ffff, 0x840, 0x442d00, 0x4, 0x3f01ffd0 , 0x7e000000, 0x7e07ff , 0x7ffc0000, 0x7 , 0x3f800, 0x200, 0x580130b0, 0x54004c2e, 0x9800011, 0xec0 ]);
285+ static final List<bool> _lookahead = _unmap([0x2800001, 0x1fc0093, 0x700000, 0x51a00000, 0x7e03ff6c, 0x7f0fffff, 0x271fffff, 0x7dafffdf, 0x7effffff, 0x77fffff, 0x780ffd9e, 0x743fffff, 0xc7fffff, 0x33c, 0x8000000, 0x18000000, 0x603ff2ca, 0x70ffffff, 0x31ffffff, 0x557ffffe, 0x21ffffff, 0x63ffffff, 0xffcb28, 0x47ffffff, 0x47ffffff, 0x3fff7f9, 0x2ffffffe, 0xffffffd, 0x7ffefb3, 0x5ffffffd, 0x1ffffffa, 0x5ffeffe6, 0x1ffffffe, 0x3ffffff4, 0x3fffffcc, 0x3ffffffd, 0x7fffffe8, 0x3ffbff98, 0x7ffffff2, 0x7fffffd0, 0x7ff7ff31, 0x7fffffe5, 0x7fffffa1, 0x7f000063, 0x7e07ffff, 0x3fffffff, 0x7fffffc0, 0x7fffff81, 0x7ff80fff, 0x7ff07fff, 0x440ffff, 0x840, 0x442d00, 0x4, 0x1ffd0 , 0x7e000000, 0x7e03ff , 0x7ffc0000, 0xfc0f , 0x3f800, 0x200, 0x580130b0, 0x54004c2e, 0x800011 ]);
286286
287287 static final List<bool> _mapping0 = _unmap([0x3ffffff, 0x7fffffe]);
288288
@@ -604,11 +604,11 @@ class GrammarParser {
604604
605605 static final List<List<int>> _transitions7 = [[9, 9, 13, 13, 32, 32]];
606606
607- static final List<List<int>> _transitions70 = [[97, 97], [100, 100], [110, 110], [111, 111], [113, 113], [114, 114], [115, 115]];
607+ static final List<List<int>> _transitions70 = [[33, 33, 37, 37, 39, 39, 42, 43, 45, 46, 48, 57, 65, 90, 95, 96, 98, 99, 101, 109, 112, 112, 116, 122, 126, 126], [ 97, 97], [100, 100], [110, 110], [111, 111], [113, 113], [114, 114], [115, 115]];
608608
609609 static final List<List<int>> _transitions71 = [[47, 47], [65, 90, 97, 122]];
610610
611- static final List<List<int>> _transitions72 = [[33, 33, 37, 37, 39, 39, 42, 43, 45, 46, 48, 57, 65, 76, 78, 90, 95, 122, 126, 126], [77, 109]];
611+ static final List<List<int>> _transitions72 = [[0, 32, 34, 36, 38, 38, 40, 41, 44, 44, 47, 47, 58, 64, 91, 94, 123, 125, 127, 1114111], [ 33, 33, 37, 37, 39, 39, 42, 43, 45, 46, 48, 57, 65, 76, 78, 90, 95, 122, 126, 126], [77, 109]];
612612
613613 static final List<List<int>> _transitions73 = [[33, 33, 37, 37, 39, 39, 42, 43, 45, 46, 48, 57, 65, 90, 95, 96, 98, 122, 126, 126], [65, 97]];
614614
@@ -6298,31 +6298,55 @@ class GrammarParser {
62986298 seq[1] = $$;
62996299 switch (_getState(_transitions72)) {
63006300 case 0:
6301+ case 4:
63016302 var startPos1 = _startPos;
63026303 _startPos = _cursor;
6303- $$ = _parse_token ();
6304+ $$ = _parse_quoted_string_clean ();
63046305 _startPos = startPos1;
63056306 break;
63066307 case 1:
63076308 while (true) {
63086309 var startPos2 = _startPos;
63096310 _startPos = _cursor;
6310- $$ = _matchString(_strings52, 'MD5', true );
6311+ $$ = _parse_token( );
63116312 _startPos = startPos2;
63126313 if (success) break;
63136314 var startPos3 = _startPos;
63146315 _startPos = _cursor;
6315- $$ = _matchString(_strings53, 'MD5-sess', true );
6316+ $$ = _parse_quoted_string_clean( );
63166317 _startPos = startPos3;
6317- if (success) break;
6318+ break;
6319+ }
6320+ break;
6321+ case 2:
6322+ while (true) {
63186323 var startPos4 = _startPos;
63196324 _startPos = _cursor;
6320- $$ = _parse_token( );
6325+ $$ = _matchString(_strings52, 'MD5', true );
63216326 _startPos = startPos4;
6327+ if (success) break;
6328+ var startPos5 = _startPos;
6329+ _startPos = _cursor;
6330+ $$ = _matchString(_strings52, 'MD5', true);
6331+ _startPos = startPos5;
6332+ if (success) break;
6333+ var startPos6 = _startPos;
6334+ _startPos = _cursor;
6335+ $$ = _matchString(_strings53, 'MD5-sess', true);
6336+ _startPos = startPos6;
6337+ if (success) break;
6338+ var startPos7 = _startPos;
6339+ _startPos = _cursor;
6340+ $$ = _parse_token();
6341+ _startPos = startPos7;
6342+ if (success) break;
6343+ var startPos8 = _startPos;
6344+ _startPos = _cursor;
6345+ $$ = _parse_quoted_string_clean();
6346+ _startPos = startPos8;
63226347 break;
63236348 }
63246349 break;
6325- case 2:
63266350 case 3:
63276351 $$ = null;
63286352 success = false;
@@ -6430,7 +6454,7 @@ class GrammarParser {
64306454 case 3:
64316455 var startPos1 = _startPos;
64326456 _startPos = _cursor;
6433- $$ = _parse_quoted_string ();
6457+ $$ = _parse_quoted_string_clean ();
64346458 _startPos = startPos1;
64356459 break;
64366460 case 1:
@@ -6442,7 +6466,7 @@ class GrammarParser {
64426466 if (success) break;
64436467 var startPos3 = _startPos;
64446468 _startPos = _cursor;
6445- $$ = _parse_quoted_string ();
6469+ $$ = _parse_quoted_string_clean ();
64466470 _startPos = startPos3;
64476471 break;
64486472 }
@@ -6466,8 +6490,8 @@ class GrammarParser {
64666490 var pos0 = _startPos;
64676491 $$ = ((offset, key, value) {
64686492 ///CODE_START
6469- print(key + ' => ' + value);
6470- if(data.auth_params == null) data.auth_params = [] ;
6493+ // print('other_auth_param: ' + key + ' => ' + value);
6494+ if(data.auth_params == null) data.auth_params = {} ;
64716495 data.auth_params[key] = value;
64726496 ///CODE_END
64736497 })($start, $1, $3);
@@ -7504,85 +7528,152 @@ class GrammarParser {
75047528 case 0:
75057529 var startPos0 = _startPos;
75067530 _startPos = _cursor;
7507- $$ = _parse_algorithm ();
7531+ $$ = _parse_auth_param ();
75087532 _startPos = startPos0;
75097533 break;
75107534 case 1:
7511- var startPos1 = _startPos;
7512- _startPos = _cursor;
7513- $$ = _parse_domain();
7514- _startPos = startPos1;
7535+ while (true) {
7536+ var startPos1 = _startPos;
7537+ _startPos = _cursor;
7538+ $$ = _parse_algorithm();
7539+ _startPos = startPos1;
7540+ if (success) break;
7541+ var startPos2 = _startPos;
7542+ _startPos = _cursor;
7543+ $$ = _parse_auth_param();
7544+ _startPos = startPos2;
7545+ break;
7546+ }
75157547 break;
75167548 case 2:
7517- var startPos2 = _startPos;
7518- _startPos = _cursor;
7519- $$ = _parse_nonce();
7520- _startPos = startPos2;
7549+ while (true) {
7550+ var startPos3 = _startPos;
7551+ _startPos = _cursor;
7552+ $$ = _parse_domain();
7553+ _startPos = startPos3;
7554+ if (success) break;
7555+ var startPos4 = _startPos;
7556+ _startPos = _cursor;
7557+ $$ = _parse_auth_param();
7558+ _startPos = startPos4;
7559+ break;
7560+ }
75217561 break;
75227562 case 3:
7523- var startPos3 = _startPos;
7524- _startPos = _cursor;
7525- $$ = _parse_opaque();
7526- _startPos = startPos3;
7563+ while (true) {
7564+ var startPos5 = _startPos;
7565+ _startPos = _cursor;
7566+ $$ = _parse_nonce();
7567+ _startPos = startPos5;
7568+ if (success) break;
7569+ var startPos6 = _startPos;
7570+ _startPos = _cursor;
7571+ $$ = _parse_auth_param();
7572+ _startPos = startPos6;
7573+ break;
7574+ }
75277575 break;
75287576 case 4:
7529- var startPos4 = _startPos;
7530- _startPos = _cursor;
7531- $$ = _parse_qop_options();
7532- _startPos = startPos4;
7577+ while (true) {
7578+ var startPos7 = _startPos;
7579+ _startPos = _cursor;
7580+ $$ = _parse_opaque();
7581+ _startPos = startPos7;
7582+ if (success) break;
7583+ var startPos8 = _startPos;
7584+ _startPos = _cursor;
7585+ $$ = _parse_auth_param();
7586+ _startPos = startPos8;
7587+ break;
7588+ }
75337589 break;
75347590 case 5:
7535- var startPos5 = _startPos;
7536- _startPos = _cursor;
7537- $$ = _parse_realm();
7538- _startPos = startPos5;
7591+ while (true) {
7592+ var startPos9 = _startPos;
7593+ _startPos = _cursor;
7594+ $$ = _parse_qop_options();
7595+ _startPos = startPos9;
7596+ if (success) break;
7597+ var startPos10 = _startPos;
7598+ _startPos = _cursor;
7599+ $$ = _parse_auth_param();
7600+ _startPos = startPos10;
7601+ break;
7602+ }
75397603 break;
75407604 case 6:
7541- var startPos6 = _startPos;
7542- _startPos = _cursor;
7543- $$ = _parse_stale();
7544- _startPos = startPos6;
7605+ while (true) {
7606+ var startPos11 = _startPos;
7607+ _startPos = _cursor;
7608+ $$ = _parse_realm();
7609+ _startPos = startPos11;
7610+ if (success) break;
7611+ var startPos12 = _startPos;
7612+ _startPos = _cursor;
7613+ $$ = _parse_auth_param();
7614+ _startPos = startPos12;
7615+ break;
7616+ }
75457617 break;
75467618 case 7:
7619+ while (true) {
7620+ var startPos13 = _startPos;
7621+ _startPos = _cursor;
7622+ $$ = _parse_stale();
7623+ _startPos = startPos13;
7624+ if (success) break;
7625+ var startPos14 = _startPos;
7626+ _startPos = _cursor;
7627+ $$ = _parse_auth_param();
7628+ _startPos = startPos14;
7629+ break;
7630+ }
7631+ break;
7632+ case 8:
75477633 $$ = null;
75487634 success = false;
75497635 break;
7550- case 8 :
7636+ case 9 :
75517637 while (true) {
7552- var startPos7 = _startPos;
7638+ var startPos15 = _startPos;
75537639 _startPos = _cursor;
75547640 $$ = _parse_realm();
7555- _startPos = startPos7 ;
7641+ _startPos = startPos15 ;
75567642 if (success) break;
7557- var startPos8 = _startPos;
7643+ var startPos16 = _startPos;
75587644 _startPos = _cursor;
75597645 $$ = _parse_domain();
7560- _startPos = startPos8 ;
7646+ _startPos = startPos16 ;
75617647 if (success) break;
7562- var startPos9 = _startPos;
7648+ var startPos17 = _startPos;
75637649 _startPos = _cursor;
75647650 $$ = _parse_nonce();
7565- _startPos = startPos9 ;
7651+ _startPos = startPos17 ;
75667652 if (success) break;
7567- var startPos10 = _startPos;
7653+ var startPos18 = _startPos;
75687654 _startPos = _cursor;
75697655 $$ = _parse_opaque();
7570- _startPos = startPos10 ;
7656+ _startPos = startPos18 ;
75717657 if (success) break;
7572- var startPos11 = _startPos;
7658+ var startPos19 = _startPos;
75737659 _startPos = _cursor;
75747660 $$ = _parse_stale();
7575- _startPos = startPos11 ;
7661+ _startPos = startPos19 ;
75767662 if (success) break;
7577- var startPos12 = _startPos;
7663+ var startPos20 = _startPos;
75787664 _startPos = _cursor;
75797665 $$ = _parse_algorithm();
7580- _startPos = startPos12 ;
7666+ _startPos = startPos20 ;
75817667 if (success) break;
7582- var startPos13 = _startPos;
7668+ var startPos21 = _startPos;
75837669 _startPos = _cursor;
75847670 $$ = _parse_qop_options();
7585- _startPos = startPos13;
7671+ _startPos = startPos21;
7672+ if (success) break;
7673+ var startPos22 = _startPos;
7674+ _startPos = _cursor;
7675+ $$ = _parse_auth_param();
7676+ _startPos = startPos22;
75867677 break;
75877678 }
75887679 break;
@@ -11131,6 +11222,19 @@ class GrammarParser {
1113111222 if (!success) break;
1113211223 seq[3] = $$;
1113311224 $$ = seq;
11225+ if (success) {
11226+ final $1 = seq[0];
11227+ final $2 = seq[1];
11228+ final $3 = seq[2];
11229+ final $4 = seq[3];
11230+ final $start = startPos0;
11231+ var pos0 = _startPos, offset = $start;
11232+ $$ = ((offset) {
11233+ ///CODE_START
11234+ return data;
11235+ ///CODE_END
11236+ })($start);
11237+ }
1113411238 break;
1113511239 }
1113611240 if (!success) {
0 commit comments