diff options
Diffstat (limited to 'target/doc/src/mailparse/lib.rs.html')
-rw-r--r-- | target/doc/src/mailparse/lib.rs.html | 143 |
1 files changed, 85 insertions, 58 deletions
diff --git a/target/doc/src/mailparse/lib.rs.html b/target/doc/src/mailparse/lib.rs.html index 32d49f3..e12cddf 100644 --- a/target/doc/src/mailparse/lib.rs.html +++ b/target/doc/src/mailparse/lib.rs.html @@ -10,10 +10,11 @@ <title>lib.rs.html -- source</title> <link rel="stylesheet" type="text/css" href="../../normalize.css"> - <link rel="stylesheet" type="text/css" href="../../rustdoc.css" id="mainThemeStyle"> + <link rel="stylesheet" type="text/css" href="../../rustdoc.css" + id="mainThemeStyle"> <link rel="stylesheet" type="text/css" href="../../dark.css"> - <link rel="stylesheet" type="text/css" href="../../main.css" id="themeStyle"> + <link rel="stylesheet" type="text/css" href="../../light.css" id="themeStyle"> <script src="../../storage.js"></script> @@ -1267,6 +1268,19 @@ <span id="1211">1211</span> <span id="1212">1212</span> <span id="1213">1213</span> +<span id="1214">1214</span> +<span id="1215">1215</span> +<span id="1216">1216</span> +<span id="1217">1217</span> +<span id="1218">1218</span> +<span id="1219">1219</span> +<span id="1220">1220</span> +<span id="1221">1221</span> +<span id="1222">1222</span> +<span id="1223">1223</span> +<span id="1224">1224</span> +<span id="1225">1225</span> +<span id="1226">1226</span> </pre><pre class="rust "> <span class="kw">extern</span> <span class="kw">crate</span> <span class="ident">base64</span>; <span class="kw">extern</span> <span class="kw">crate</span> <span class="ident">encoding</span>; @@ -1322,7 +1336,7 @@ <span class="ident">MailParseError</span>::<span class="ident">QuotedPrintableDecodeError</span>(<span class="kw-2">ref</span> <span class="ident">err</span>) <span class="op">=></span> <span class="ident">err</span>.<span class="ident">description</span>(), <span class="ident">MailParseError</span>::<span class="ident">Base64DecodeError</span>(<span class="kw-2">ref</span> <span class="ident">err</span>) <span class="op">=></span> <span class="ident">err</span>.<span class="ident">description</span>(), <span class="ident">MailParseError</span>::<span class="ident">EncodingError</span>(<span class="kw-2">ref</span> <span class="ident">err</span>) <span class="op">=></span> <span class="ident">err</span>.<span class="ident">deref</span>(), - _ <span class="op">=></span> <span class="string">"An error occurred while attempting to parse the input"</span>, + <span class="kw">_</span> <span class="op">=></span> <span class="string">"An error occurred while attempting to parse the input"</span>, } } @@ -1330,7 +1344,7 @@ <span class="kw">match</span> <span class="kw-2">*</span><span class="self">self</span> { <span class="ident">MailParseError</span>::<span class="ident">QuotedPrintableDecodeError</span>(<span class="kw-2">ref</span> <span class="ident">err</span>) <span class="op">=></span> <span class="prelude-val">Some</span>(<span class="ident">err</span>), <span class="ident">MailParseError</span>::<span class="ident">Base64DecodeError</span>(<span class="kw-2">ref</span> <span class="ident">err</span>) <span class="op">=></span> <span class="prelude-val">Some</span>(<span class="ident">err</span>), - _ <span class="op">=></span> <span class="prelude-val">None</span>, + <span class="kw">_</span> <span class="op">=></span> <span class="prelude-val">None</span>, } } } @@ -1451,7 +1465,7 @@ } <span class="macro">try_none</span><span class="macro">!</span>(<span class="ident">d</span>.<span class="ident">ok</span>()) } - _ <span class="op">=></span> <span class="kw">return</span> <span class="prelude-val">None</span>, + <span class="kw">_</span> <span class="op">=></span> <span class="kw">return</span> <span class="prelude-val">None</span>, }; <span class="kw">let</span> <span class="ident">charset_conv</span> <span class="op">=</span> <span class="macro">try_none</span><span class="macro">!</span>(<span class="ident">encoding</span>::<span class="ident">label</span>::<span class="ident">encoding_from_whatwg_label</span>(<span class="ident">charset</span>)); <span class="ident">charset_conv</span> @@ -1511,7 +1525,10 @@ <span class="kw">continue</span>; } <span class="kw">match</span> <span class="self">self</span>.<span class="ident">decode_word</span>(<span class="kw-2">&</span><span class="ident">line</span>[<span class="ident">ix_begin</span>..<span class="ident">ix_end</span>]) { - <span class="prelude-val">Some</span>(<span class="ident">v</span>) <span class="op">=></span> <span class="ident">result</span>.<span class="ident">push_str</span>(<span class="kw-2">&</span><span class="ident">v</span>), + <span class="prelude-val">Some</span>(<span class="ident">v</span>) <span class="op">=></span> { + <span class="ident">result</span>.<span class="ident">push_str</span>(<span class="kw-2">&</span><span class="ident">v</span>); + <span class="ident">add_space</span> <span class="op">=</span> <span class="bool-val">false</span>; + } <span class="prelude-val">None</span> <span class="op">=></span> <span class="ident">result</span>.<span class="ident">push_str</span>(<span class="kw-2">&</span><span class="ident">line</span>[<span class="ident">ix_begin</span> <span class="op">-</span> <span class="number">2</span>..<span class="ident">ix_end</span> <span class="op">+</span> <span class="number">2</span>]), }; <span class="ident">ix_search</span> <span class="op">=</span> <span class="ident">ix_end</span>; @@ -1983,7 +2000,7 @@ <span class="ident">quoted_printable</span>::<span class="ident">ParseMode</span>::<span class="ident">Robust</span>, )) } - _ <span class="op">=></span> <span class="ident">Vec</span>::<span class="op"><</span><span class="ident">u8</span><span class="op">></span>::<span class="ident">from</span>(<span class="self">self</span>.<span class="ident">body</span>), + <span class="kw">_</span> <span class="op">=></span> <span class="ident">Vec</span>::<span class="op"><</span><span class="ident">u8</span><span class="op">></span>::<span class="ident">from</span>(<span class="self">self</span>.<span class="ident">body</span>), }; <span class="prelude-val">Ok</span>(<span class="ident">decoded</span>) } @@ -2062,23 +2079,17 @@ <span class="kw">while</span> <span class="kw">let</span> <span class="prelude-val">Some</span>(<span class="ident">ix_part_start</span>) <span class="op">=</span> <span class="ident">find_from_u8</span>(<span class="ident">raw_data</span>, <span class="ident">ix_boundary_end</span>, <span class="string">b"\n"</span>).<span class="ident">map</span>(<span class="op">|</span><span class="ident">v</span><span class="op">|</span> <span class="ident">v</span> <span class="op">+</span> <span class="number">1</span>) { - <span class="kw">if</span> <span class="kw">let</span> <span class="prelude-val">Some</span>(<span class="ident">ix_part_end</span>) <span class="op">=</span> - <span class="ident">find_from_u8</span>(<span class="ident">raw_data</span>, <span class="ident">ix_part_start</span>, <span class="ident">boundary</span>.<span class="ident">as_bytes</span>()) + <span class="comment">// if there is no terminating boundary, assume the part end is the end of the email</span> + <span class="kw">let</span> <span class="ident">ix_part_end</span> <span class="op">=</span> <span class="ident">find_from_u8</span>(<span class="ident">raw_data</span>, <span class="ident">ix_part_start</span>, <span class="ident">boundary</span>.<span class="ident">as_bytes</span>()).<span class="ident">unwrap_or</span>(<span class="ident">raw_data</span>.<span class="ident">len</span>()); + + <span class="ident">result</span>.<span class="ident">subparts</span>.<span class="ident">push</span>(<span class="macro">try</span><span class="macro">!</span>(<span class="ident">parse_mail</span>( + <span class="kw-2">&</span><span class="ident">raw_data</span>[<span class="ident">ix_part_start</span>..<span class="ident">ix_part_end</span>], + ))); + <span class="ident">ix_boundary_end</span> <span class="op">=</span> <span class="ident">ix_part_end</span> <span class="op">+</span> <span class="ident">boundary</span>.<span class="ident">len</span>(); + <span class="kw">if</span> <span class="ident">ix_boundary_end</span> <span class="op">+</span> <span class="number">2</span> <span class="op">></span> <span class="ident">raw_data</span>.<span class="ident">len</span>() <span class="op">||</span> + (<span class="ident">raw_data</span>[<span class="ident">ix_boundary_end</span>] <span class="op">==</span> <span class="string">b'-'</span> <span class="op">&&</span> <span class="ident">raw_data</span>[<span class="ident">ix_boundary_end</span> <span class="op">+</span> <span class="number">1</span>] <span class="op">==</span> <span class="string">b'-'</span>) { - <span class="ident">result</span>.<span class="ident">subparts</span>.<span class="ident">push</span>(<span class="macro">try</span><span class="macro">!</span>(<span class="ident">parse_mail</span>( - <span class="kw-2">&</span><span class="ident">raw_data</span>[<span class="ident">ix_part_start</span>..<span class="ident">ix_part_end</span>], - ))); - <span class="ident">ix_boundary_end</span> <span class="op">=</span> <span class="ident">ix_part_end</span> <span class="op">+</span> <span class="ident">boundary</span>.<span class="ident">len</span>(); - <span class="kw">if</span> <span class="ident">ix_boundary_end</span> <span class="op">+</span> <span class="number">2</span> <span class="op"><=</span> <span class="ident">raw_data</span>.<span class="ident">len</span>() <span class="op">&&</span> <span class="ident">raw_data</span>[<span class="ident">ix_boundary_end</span>] <span class="op">==</span> <span class="string">b'-'</span> <span class="op">&&</span> - <span class="ident">raw_data</span>[<span class="ident">ix_boundary_end</span> <span class="op">+</span> <span class="number">1</span>] <span class="op">==</span> <span class="string">b'-'</span> - { - <span class="kw">break</span>; - } - } <span class="kw">else</span> { - <span class="kw">return</span> <span class="prelude-val">Err</span>(<span class="ident">MailParseError</span>::<span class="ident">Generic</span>( - <span class="string">"Unable to terminating boundary of \ - multipart message"</span>, - )); + <span class="kw">break</span>; } } } @@ -2132,52 +2143,52 @@ ( <span class="macro-nonterminal">$</span><span class="macro-nonterminal">x</span>:<span class="ident">expr</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">p</span>:<span class="ident">pat</span> ) <span class="op">=></span> { <span class="kw">match</span> <span class="macro-nonterminal">$</span><span class="macro-nonterminal">x</span> { <span class="macro-nonterminal">$</span><span class="macro-nonterminal">p</span> <span class="op">=></span> (), - _ <span class="op">=></span> <span class="macro">panic</span><span class="macro">!</span>(<span class="string">"Expression {} does not match pattern {}"</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">x</span>, <span class="macro">stringify</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">p</span>)), + <span class="kw">_</span> <span class="op">=></span> <span class="macro">panic</span><span class="macro">!</span>(<span class="string">"Expression {} does not match pattern {}"</span>, <span class="macro-nonterminal">$</span><span class="macro-nonterminal">x</span>, <span class="macro">stringify</span><span class="macro">!</span>(<span class="macro-nonterminal">$</span><span class="macro-nonterminal">p</span>)), } } } <span class="attribute">#[<span class="ident">test</span>]</span> <span class="kw">fn</span> <span class="ident">parse_basic_header</span>() { - <span class="kw">let</span> (<span class="ident">parsed</span>, _) <span class="op">=</span> <span class="ident">parse_header</span>(<span class="string">b"Key: Value"</span>).<span class="ident">unwrap</span>(); + <span class="kw">let</span> (<span class="ident">parsed</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">parse_header</span>(<span class="string">b"Key: Value"</span>).<span class="ident">unwrap</span>(); <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">parsed</span>.<span class="ident">key</span>, <span class="string">b"Key"</span>); <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">parsed</span>.<span class="ident">get_key</span>().<span class="ident">unwrap</span>(), <span class="string">"Key"</span>); <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">parsed</span>.<span class="ident">value</span>, <span class="string">b"Value"</span>); <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">parsed</span>.<span class="ident">get_value</span>().<span class="ident">unwrap</span>(), <span class="string">"Value"</span>); - <span class="kw">let</span> (<span class="ident">parsed</span>, _) <span class="op">=</span> <span class="ident">parse_header</span>(<span class="string">b"Key : Value "</span>).<span class="ident">unwrap</span>(); + <span class="kw">let</span> (<span class="ident">parsed</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">parse_header</span>(<span class="string">b"Key : Value "</span>).<span class="ident">unwrap</span>(); <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">parsed</span>.<span class="ident">key</span>, <span class="string">b"Key "</span>); <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">parsed</span>.<span class="ident">value</span>, <span class="string">b"Value "</span>); <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">parsed</span>.<span class="ident">get_value</span>().<span class="ident">unwrap</span>(), <span class="string">"Value "</span>); - <span class="kw">let</span> (<span class="ident">parsed</span>, _) <span class="op">=</span> <span class="ident">parse_header</span>(<span class="string">b"Key:"</span>).<span class="ident">unwrap</span>(); + <span class="kw">let</span> (<span class="ident">parsed</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">parse_header</span>(<span class="string">b"Key:"</span>).<span class="ident">unwrap</span>(); <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">parsed</span>.<span class="ident">key</span>, <span class="string">b"Key"</span>); <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">parsed</span>.<span class="ident">value</span>, <span class="string">b""</span>); - <span class="kw">let</span> (<span class="ident">parsed</span>, _) <span class="op">=</span> <span class="ident">parse_header</span>(<span class="string">b":\n"</span>).<span class="ident">unwrap</span>(); + <span class="kw">let</span> (<span class="ident">parsed</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">parse_header</span>(<span class="string">b":\n"</span>).<span class="ident">unwrap</span>(); <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">parsed</span>.<span class="ident">key</span>, <span class="string">b""</span>); <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">parsed</span>.<span class="ident">value</span>, <span class="string">b""</span>); - <span class="kw">let</span> (<span class="ident">parsed</span>, _) <span class="op">=</span> <span class="ident">parse_header</span>(<span class="string">b"Key:Multi-line\n value"</span>).<span class="ident">unwrap</span>(); + <span class="kw">let</span> (<span class="ident">parsed</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">parse_header</span>(<span class="string">b"Key:Multi-line\n value"</span>).<span class="ident">unwrap</span>(); <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">parsed</span>.<span class="ident">key</span>, <span class="string">b"Key"</span>); <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">parsed</span>.<span class="ident">value</span>, <span class="string">b"Multi-line\n value"</span>); <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">parsed</span>.<span class="ident">get_value</span>().<span class="ident">unwrap</span>(), <span class="string">"Multi-line value"</span>); - <span class="kw">let</span> (<span class="ident">parsed</span>, _) <span class="op">=</span> <span class="ident">parse_header</span>(<span class="string">b"Key: Multi\n line\n value\n"</span>).<span class="ident">unwrap</span>(); + <span class="kw">let</span> (<span class="ident">parsed</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">parse_header</span>(<span class="string">b"Key: Multi\n line\n value\n"</span>).<span class="ident">unwrap</span>(); <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">parsed</span>.<span class="ident">key</span>, <span class="string">b"Key"</span>); <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">parsed</span>.<span class="ident">value</span>, <span class="string">b"Multi\n line\n value"</span>); <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">parsed</span>.<span class="ident">get_value</span>().<span class="ident">unwrap</span>(), <span class="string">"Multi line value"</span>); - <span class="kw">let</span> (<span class="ident">parsed</span>, _) <span class="op">=</span> <span class="ident">parse_header</span>(<span class="string">b"Key: One\nKey2: Two"</span>).<span class="ident">unwrap</span>(); + <span class="kw">let</span> (<span class="ident">parsed</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">parse_header</span>(<span class="string">b"Key: One\nKey2: Two"</span>).<span class="ident">unwrap</span>(); <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">parsed</span>.<span class="ident">key</span>, <span class="string">b"Key"</span>); <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">parsed</span>.<span class="ident">value</span>, <span class="string">b"One"</span>); - <span class="kw">let</span> (<span class="ident">parsed</span>, _) <span class="op">=</span> <span class="ident">parse_header</span>(<span class="string">b"Key: One\n\tOverhang"</span>).<span class="ident">unwrap</span>(); + <span class="kw">let</span> (<span class="ident">parsed</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">parse_header</span>(<span class="string">b"Key: One\n\tOverhang"</span>).<span class="ident">unwrap</span>(); <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">parsed</span>.<span class="ident">key</span>, <span class="string">b"Key"</span>); <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">parsed</span>.<span class="ident">value</span>, <span class="string">b"One\n\tOverhang"</span>); <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">parsed</span>.<span class="ident">get_value</span>().<span class="ident">unwrap</span>(), <span class="string">"One Overhang"</span>); - <span class="kw">let</span> (<span class="ident">parsed</span>, _) <span class="op">=</span> <span class="ident">parse_header</span>(<span class="string">b"SPAM: VIAGRA \xAE"</span>).<span class="ident">unwrap</span>(); + <span class="kw">let</span> (<span class="ident">parsed</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">parse_header</span>(<span class="string">b"SPAM: VIAGRA \xAE"</span>).<span class="ident">unwrap</span>(); <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">parsed</span>.<span class="ident">key</span>, <span class="string">b"SPAM"</span>); <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">parsed</span>.<span class="ident">value</span>, <span class="string">b"VIAGRA \xAE"</span>); <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">parsed</span>.<span class="ident">get_value</span>().<span class="ident">unwrap</span>(), <span class="string">"VIAGRA \u{ae}"</span>); @@ -2189,58 +2200,58 @@ <span class="attribute">#[<span class="ident">test</span>]</span> <span class="kw">fn</span> <span class="ident">parse_encoded_headers</span>() { - <span class="kw">let</span> (<span class="ident">parsed</span>, _) <span class="op">=</span> <span class="ident">parse_header</span>(<span class="string">b"Subject: =?iso-8859-1?Q?=A1Hola,_se=F1or!?="</span>).<span class="ident">unwrap</span>(); + <span class="kw">let</span> (<span class="ident">parsed</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">parse_header</span>(<span class="string">b"Subject: =?iso-8859-1?Q?=A1Hola,_se=F1or!?="</span>).<span class="ident">unwrap</span>(); <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">parsed</span>.<span class="ident">get_key</span>().<span class="ident">unwrap</span>(), <span class="string">"Subject"</span>); <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">parsed</span>.<span class="ident">get_value</span>().<span class="ident">unwrap</span>(), <span class="string">"\u{a1}Hola, se\u{f1}or!"</span>); - <span class="kw">let</span> (<span class="ident">parsed</span>, _) <span class="op">=</span> <span class="ident">parse_header</span>( + <span class="kw">let</span> (<span class="ident">parsed</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">parse_header</span>( <span class="string">b"Subject: =?iso-8859-1?Q?=A1Hola,?=\n \ =?iso-8859-1?Q?_se=F1or!?="</span>, ).<span class="ident">unwrap</span>(); <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">parsed</span>.<span class="ident">get_key</span>().<span class="ident">unwrap</span>(), <span class="string">"Subject"</span>); - <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">parsed</span>.<span class="ident">get_value</span>().<span class="ident">unwrap</span>(), <span class="string">"\u{a1}Hola, se\u{f1}or!"</span>); + <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">parsed</span>.<span class="ident">get_value</span>().<span class="ident">unwrap</span>(), <span class="string">"\u{a1}Hola, se\u{f1}or!"</span>); - <span class="kw">let</span> (<span class="ident">parsed</span>, _) <span class="op">=</span> <span class="ident">parse_header</span>(<span class="string">b"Euro: =?utf-8?Q?=E2=82=AC?="</span>).<span class="ident">unwrap</span>(); + <span class="kw">let</span> (<span class="ident">parsed</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">parse_header</span>(<span class="string">b"Euro: =?utf-8?Q?=E2=82=AC?="</span>).<span class="ident">unwrap</span>(); <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">parsed</span>.<span class="ident">get_key</span>().<span class="ident">unwrap</span>(), <span class="string">"Euro"</span>); <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">parsed</span>.<span class="ident">get_value</span>().<span class="ident">unwrap</span>(), <span class="string">"\u{20ac}"</span>); - <span class="kw">let</span> (<span class="ident">parsed</span>, _) <span class="op">=</span> <span class="ident">parse_header</span>(<span class="string">b"HelloWorld: =?utf-8?B?aGVsbG8gd29ybGQ=?="</span>).<span class="ident">unwrap</span>(); + <span class="kw">let</span> (<span class="ident">parsed</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">parse_header</span>(<span class="string">b"HelloWorld: =?utf-8?B?aGVsbG8gd29ybGQ=?="</span>).<span class="ident">unwrap</span>(); <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">parsed</span>.<span class="ident">get_value</span>().<span class="ident">unwrap</span>(), <span class="string">"hello world"</span>); - <span class="kw">let</span> (<span class="ident">parsed</span>, _) <span class="op">=</span> <span class="ident">parse_header</span>(<span class="string">b"Empty: =?utf-8?Q??="</span>).<span class="ident">unwrap</span>(); + <span class="kw">let</span> (<span class="ident">parsed</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">parse_header</span>(<span class="string">b"Empty: =?utf-8?Q??="</span>).<span class="ident">unwrap</span>(); <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">parsed</span>.<span class="ident">get_value</span>().<span class="ident">unwrap</span>(), <span class="string">""</span>); - <span class="kw">let</span> (<span class="ident">parsed</span>, _) <span class="op">=</span> <span class="ident">parse_header</span>(<span class="string">b"Incomplete: =?"</span>).<span class="ident">unwrap</span>(); + <span class="kw">let</span> (<span class="ident">parsed</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">parse_header</span>(<span class="string">b"Incomplete: =?"</span>).<span class="ident">unwrap</span>(); <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">parsed</span>.<span class="ident">get_value</span>().<span class="ident">unwrap</span>(), <span class="string">"=?"</span>); - <span class="kw">let</span> (<span class="ident">parsed</span>, _) <span class="op">=</span> <span class="ident">parse_header</span>(<span class="string">b"BadEncoding: =?garbage?Q??="</span>).<span class="ident">unwrap</span>(); + <span class="kw">let</span> (<span class="ident">parsed</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">parse_header</span>(<span class="string">b"BadEncoding: =?garbage?Q??="</span>).<span class="ident">unwrap</span>(); <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">parsed</span>.<span class="ident">get_value</span>().<span class="ident">unwrap</span>(), <span class="string">"=?garbage?Q??="</span>); - <span class="kw">let</span> (<span class="ident">parsed</span>, _) <span class="op">=</span> <span class="ident">parse_header</span>(<span class="string">b"Invalid: =?utf-8?Q?=E2=AC?="</span>).<span class="ident">unwrap</span>(); + <span class="kw">let</span> (<span class="ident">parsed</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">parse_header</span>(<span class="string">b"Invalid: =?utf-8?Q?=E2=AC?="</span>).<span class="ident">unwrap</span>(); <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">parsed</span>.<span class="ident">get_value</span>().<span class="ident">unwrap</span>(), <span class="string">"\u{fffd}"</span>); - <span class="kw">let</span> (<span class="ident">parsed</span>, _) <span class="op">=</span> <span class="ident">parse_header</span>(<span class="string">b"LineBreak: =?utf-8?Q?=E2=82\n =AC?="</span>).<span class="ident">unwrap</span>(); + <span class="kw">let</span> (<span class="ident">parsed</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">parse_header</span>(<span class="string">b"LineBreak: =?utf-8?Q?=E2=82\n =AC?="</span>).<span class="ident">unwrap</span>(); <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">parsed</span>.<span class="ident">get_value</span>().<span class="ident">unwrap</span>(), <span class="string">"=?utf-8?Q?=E2=82 =AC?="</span>); - <span class="kw">let</span> (<span class="ident">parsed</span>, _) <span class="op">=</span> <span class="ident">parse_header</span>(<span class="string">b"NotSeparateWord: hello=?utf-8?Q?world?="</span>).<span class="ident">unwrap</span>(); + <span class="kw">let</span> (<span class="ident">parsed</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">parse_header</span>(<span class="string">b"NotSeparateWord: hello=?utf-8?Q?world?="</span>).<span class="ident">unwrap</span>(); <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">parsed</span>.<span class="ident">get_value</span>().<span class="ident">unwrap</span>(), <span class="string">"hello=?utf-8?Q?world?="</span>); - <span class="kw">let</span> (<span class="ident">parsed</span>, _) <span class="op">=</span> <span class="ident">parse_header</span>(<span class="string">b"NotSeparateWord2: =?utf-8?Q?hello?=world"</span>).<span class="ident">unwrap</span>(); + <span class="kw">let</span> (<span class="ident">parsed</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">parse_header</span>(<span class="string">b"NotSeparateWord2: =?utf-8?Q?hello?=world"</span>).<span class="ident">unwrap</span>(); <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">parsed</span>.<span class="ident">get_value</span>().<span class="ident">unwrap</span>(), <span class="string">"=?utf-8?Q?hello?=world"</span>); - <span class="kw">let</span> (<span class="ident">parsed</span>, _) <span class="op">=</span> <span class="ident">parse_header</span>(<span class="string">b"Key: \"=?utf-8?Q?value?=\""</span>).<span class="ident">unwrap</span>(); + <span class="kw">let</span> (<span class="ident">parsed</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">parse_header</span>(<span class="string">b"Key: \"=?utf-8?Q?value?=\""</span>).<span class="ident">unwrap</span>(); <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">parsed</span>.<span class="ident">get_value</span>().<span class="ident">unwrap</span>(), <span class="string">"\"value\""</span>); - <span class="kw">let</span> (<span class="ident">parsed</span>, _) <span class="op">=</span> <span class="ident">parse_header</span>(<span class="string">b"Subject: =?utf-8?q?=5BOntario_Builder=5D_Understanding_home_shopping_=E2=80=93_a_q?=\n \ + <span class="kw">let</span> (<span class="ident">parsed</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">parse_header</span>(<span class="string">b"Subject: =?utf-8?q?=5BOntario_Builder=5D_Understanding_home_shopping_=E2=80=93_a_q?=\n \ =?utf-8?q?uick_survey?="</span>) .<span class="ident">unwrap</span>(); <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">parsed</span>.<span class="ident">get_key</span>().<span class="ident">unwrap</span>(), <span class="string">"Subject"</span>); <span class="macro">assert_eq</span><span class="macro">!</span>( <span class="ident">parsed</span>.<span class="ident">get_value</span>().<span class="ident">unwrap</span>(), - <span class="string">"[Ontario Builder] Understanding home shopping \u{2013} a q uick survey"</span> + <span class="string">"[Ontario Builder] Understanding home shopping \u{2013} a quick survey"</span> ); - <span class="kw">let</span> (<span class="ident">parsed</span>, _) <span class="op">=</span> <span class="ident">parse_header</span>( + <span class="kw">let</span> (<span class="ident">parsed</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">parse_header</span>( <span class="string">b"Content-Type: image/jpeg; name=\"=?UTF-8?B?MDY2MTM5ODEuanBn?=\""</span>, ).<span class="ident">unwrap</span>(); <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">parsed</span>.<span class="ident">get_key</span>().<span class="ident">unwrap</span>(), <span class="string">"Content-Type"</span>); @@ -2249,7 +2260,7 @@ <span class="string">"image/jpeg; name=\"06613981.jpg\""</span> ); - <span class="kw">let</span> (<span class="ident">parsed</span>, _) <span class="op">=</span> <span class="ident">parse_header</span>( + <span class="kw">let</span> (<span class="ident">parsed</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">parse_header</span>( <span class="string">b"From: =?UTF-8?Q?\"Motorola_Owners=E2=80=99_Forums\"_?=<forums@motorola.com>"</span>, ).<span class="ident">unwrap</span>(); <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">parsed</span>.<span class="ident">get_key</span>().<span class="ident">unwrap</span>(), <span class="string">"From"</span>); @@ -2261,14 +2272,14 @@ <span class="attribute">#[<span class="ident">test</span>]</span> <span class="kw">fn</span> <span class="ident">parse_multiple_headers</span>() { - <span class="kw">let</span> (<span class="ident">parsed</span>, _) <span class="op">=</span> <span class="ident">parse_headers</span>(<span class="string">b"Key: Value\nTwo: Second"</span>).<span class="ident">unwrap</span>(); + <span class="kw">let</span> (<span class="ident">parsed</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">parse_headers</span>(<span class="string">b"Key: Value\nTwo: Second"</span>).<span class="ident">unwrap</span>(); <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">parsed</span>.<span class="ident">len</span>(), <span class="number">2</span>); <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">parsed</span>[<span class="number">0</span>].<span class="ident">key</span>, <span class="string">b"Key"</span>); <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">parsed</span>[<span class="number">0</span>].<span class="ident">value</span>, <span class="string">b"Value"</span>); <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">parsed</span>[<span class="number">1</span>].<span class="ident">key</span>, <span class="string">b"Two"</span>); <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">parsed</span>[<span class="number">1</span>].<span class="ident">value</span>, <span class="string">b"Second"</span>); - <span class="kw">let</span> (<span class="ident">parsed</span>, _) <span class="op">=</span> <span class="ident">parse_headers</span>(<span class="string">b"Key: Value\n Overhang\nTwo: Second\nThree: Third"</span>) + <span class="kw">let</span> (<span class="ident">parsed</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">parse_headers</span>(<span class="string">b"Key: Value\n Overhang\nTwo: Second\nThree: Third"</span>) .<span class="ident">unwrap</span>(); <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">parsed</span>.<span class="ident">len</span>(), <span class="number">3</span>); <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">parsed</span>[<span class="number">0</span>].<span class="ident">key</span>, <span class="string">b"Key"</span>); @@ -2278,14 +2289,14 @@ <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">parsed</span>[<span class="number">2</span>].<span class="ident">key</span>, <span class="string">b"Three"</span>); <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">parsed</span>[<span class="number">2</span>].<span class="ident">value</span>, <span class="string">b"Third"</span>); - <span class="kw">let</span> (<span class="ident">parsed</span>, _) <span class="op">=</span> <span class="ident">parse_headers</span>(<span class="string">b"Key: Value\nTwo: Second\n\nBody"</span>).<span class="ident">unwrap</span>(); + <span class="kw">let</span> (<span class="ident">parsed</span>, <span class="kw">_</span>) <span class="op">=</span> <span class="ident">parse_headers</span>(<span class="string">b"Key: Value\nTwo: Second\n\nBody"</span>).<span class="ident">unwrap</span>(); <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">parsed</span>.<span class="ident">len</span>(), <span class="number">2</span>); <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">parsed</span>[<spa |