mirror of
https://github.com/actix/actix-website
synced 2025-07-01 01:04:27 +02:00
update actix-web api docs
This commit is contained in:
@ -1008,6 +1008,20 @@
|
||||
<span id="1008">1008</span>
|
||||
<span id="1009">1009</span>
|
||||
<span id="1010">1010</span>
|
||||
<span id="1011">1011</span>
|
||||
<span id="1012">1012</span>
|
||||
<span id="1013">1013</span>
|
||||
<span id="1014">1014</span>
|
||||
<span id="1015">1015</span>
|
||||
<span id="1016">1016</span>
|
||||
<span id="1017">1017</span>
|
||||
<span id="1018">1018</span>
|
||||
<span id="1019">1019</span>
|
||||
<span id="1020">1020</span>
|
||||
<span id="1021">1021</span>
|
||||
<span id="1022">1022</span>
|
||||
<span id="1023">1023</span>
|
||||
<span id="1024">1024</span>
|
||||
</pre><pre class="rust ">
|
||||
<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">marker</span>::<span class="ident">PhantomData</span>;
|
||||
<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">ops</span>::{<span class="ident">Deref</span>, <span class="ident">DerefMut</span>};
|
||||
@ -1112,6 +1126,12 @@
|
||||
}
|
||||
}
|
||||
|
||||
<span class="kw">impl</span><span class="op"><</span><span class="ident">T</span><span class="op">></span> <span class="ident">From</span><span class="op"><</span><span class="ident">T</span><span class="op">></span> <span class="kw">for</span> <span class="ident">Path</span><span class="op"><</span><span class="ident">T</span><span class="op">></span> {
|
||||
<span class="kw">fn</span> <span class="ident">from</span>(<span class="ident">inner</span>: <span class="ident">T</span>) <span class="op">-></span> <span class="ident">Path</span><span class="op"><</span><span class="ident">T</span><span class="op">></span> {
|
||||
<span class="ident">Path</span> { <span class="ident">inner</span> }
|
||||
}
|
||||
}
|
||||
|
||||
<span class="kw">impl</span><span class="op"><</span><span class="ident">T</span>, <span class="ident">S</span><span class="op">></span> <span class="ident">FromRequest</span><span class="op"><</span><span class="ident">S</span><span class="op">></span> <span class="kw">for</span> <span class="ident">Path</span><span class="op"><</span><span class="ident">T</span><span class="op">></span>
|
||||
<span class="kw">where</span>
|
||||
<span class="ident">T</span>: <span class="ident">DeserializeOwned</span>,
|
||||
@ -1337,7 +1357,7 @@
|
||||
<span class="doccomment">/// |r| {</span>
|
||||
<span class="doccomment">/// r.method(http::Method::GET)</span>
|
||||
<span class="doccomment">/// // register form handler and change form extractor configuration</span>
|
||||
<span class="doccomment">/// .with_config(index, |cfg| {cfg.limit(4096);})</span>
|
||||
<span class="doccomment">/// .with_config(index, |cfg| {cfg.0.limit(4096);})</span>
|
||||
<span class="doccomment">/// },</span>
|
||||
<span class="doccomment">/// );</span>
|
||||
<span class="doccomment">/// }</span>
|
||||
@ -1432,7 +1452,7 @@
|
||||
<span class="doccomment">/// let app = App::new().resource("/index.html", |r| {</span>
|
||||
<span class="doccomment">/// r.method(http::Method::GET)</span>
|
||||
<span class="doccomment">/// .with_config(index, |cfg| { // <- register handler with extractor params</span>
|
||||
<span class="doccomment">/// cfg.limit(4096); // <- limit size of the payload</span>
|
||||
<span class="doccomment">/// cfg.0.limit(4096); // <- limit size of the payload</span>
|
||||
<span class="doccomment">/// })</span>
|
||||
<span class="doccomment">/// });</span>
|
||||
<span class="doccomment">/// }</span>
|
||||
@ -1701,6 +1721,12 @@
|
||||
}
|
||||
});
|
||||
|
||||
<span class="kw">impl</span><span class="op"><</span><span class="ident">S</span><span class="op">></span> <span class="ident">FromRequest</span><span class="op"><</span><span class="ident">S</span><span class="op">></span> <span class="kw">for</span> () {
|
||||
<span class="kw">type</span> <span class="ident">Config</span> <span class="op">=</span> ();
|
||||
<span class="kw">type</span> <span class="prelude-ty">Result</span> <span class="op">=</span> <span class="self">Self</span>;
|
||||
<span class="kw">fn</span> <span class="ident">from_request</span>(<span class="ident">_req</span>: <span class="kw-2">&</span><span class="ident">HttpRequest</span><span class="op"><</span><span class="ident">S</span><span class="op">></span>, <span class="ident">_cfg</span>: <span class="kw-2">&</span><span class="self">Self</span>::<span class="ident">Config</span>) <span class="op">-></span> <span class="self">Self</span>::<span class="prelude-ty">Result</span> {}
|
||||
}
|
||||
|
||||
<span class="macro">tuple_from_req</span><span class="macro">!</span>(<span class="ident">TupleFromRequest1</span>, (<span class="number">0</span>, <span class="ident">A</span>));
|
||||
<span class="macro">tuple_from_req</span><span class="macro">!</span>(<span class="ident">TupleFromRequest2</span>, (<span class="number">0</span>, <span class="ident">A</span>), (<span class="number">1</span>, <span class="ident">B</span>));
|
||||
<span class="macro">tuple_from_req</span><span class="macro">!</span>(<span class="ident">TupleFromRequest3</span>, (<span class="number">0</span>, <span class="ident">A</span>), (<span class="number">1</span>, <span class="ident">B</span>), (<span class="number">2</span>, <span class="ident">C</span>));
|
||||
@ -1801,8 +1827,8 @@
|
||||
<span class="ident">header</span>::<span class="ident">CONTENT_TYPE</span>,
|
||||
<span class="string">"application/x-www-form-urlencoded"</span>,
|
||||
).<span class="ident">header</span>(<span class="ident">header</span>::<span class="ident">CONTENT_LENGTH</span>, <span class="string">"11"</span>)
|
||||
.<span class="ident">set_payload</span>(<span class="ident">Bytes</span>::<span class="ident">from_static</span>(<span class="string">b"hello=world"</span>))
|
||||
.<span class="ident">finish</span>();
|
||||
.<span class="ident">set_payload</span>(<span class="ident">Bytes</span>::<span class="ident">from_static</span>(<span class="string">b"hello=world"</span>))
|
||||
.<span class="ident">finish</span>();
|
||||
|
||||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">cfg</span> <span class="op">=</span> <span class="ident">FormConfig</span>::<span class="ident">default</span>();
|
||||
<span class="ident">cfg</span>.<span class="ident">limit</span>(<span class="number">4096</span>);
|
||||
@ -1836,8 +1862,8 @@
|
||||
<span class="ident">header</span>::<span class="ident">CONTENT_TYPE</span>,
|
||||
<span class="string">"application/x-www-form-urlencoded"</span>,
|
||||
).<span class="ident">header</span>(<span class="ident">header</span>::<span class="ident">CONTENT_LENGTH</span>, <span class="string">"9"</span>)
|
||||
.<span class="ident">set_payload</span>(<span class="ident">Bytes</span>::<span class="ident">from_static</span>(<span class="string">b"hello=world"</span>))
|
||||
.<span class="ident">finish</span>();
|
||||
.<span class="ident">set_payload</span>(<span class="ident">Bytes</span>::<span class="ident">from_static</span>(<span class="string">b"hello=world"</span>))
|
||||
.<span class="ident">finish</span>();
|
||||
|
||||
<span class="kw">match</span> <span class="prelude-ty">Option</span>::<span class="op"><</span><span class="ident">Form</span><span class="op"><</span><span class="ident">Info</span><span class="op">>></span>::<span class="ident">from_request</span>(<span class="kw-2">&</span><span class="ident">req</span>, <span class="kw-2">&</span><span class="ident">cfg</span>)
|
||||
.<span class="ident">poll</span>()
|
||||
@ -1856,8 +1882,8 @@
|
||||
<span class="ident">header</span>::<span class="ident">CONTENT_TYPE</span>,
|
||||
<span class="string">"application/x-www-form-urlencoded"</span>,
|
||||
).<span class="ident">header</span>(<span class="ident">header</span>::<span class="ident">CONTENT_LENGTH</span>, <span class="string">"9"</span>)
|
||||
.<span class="ident">set_payload</span>(<span class="ident">Bytes</span>::<span class="ident">from_static</span>(<span class="string">b"bye=world"</span>))
|
||||
.<span class="ident">finish</span>();
|
||||
.<span class="ident">set_payload</span>(<span class="ident">Bytes</span>::<span class="ident">from_static</span>(<span class="string">b"bye=world"</span>))
|
||||
.<span class="ident">finish</span>();
|
||||
|
||||
<span class="kw">match</span> <span class="prelude-ty">Option</span>::<span class="op"><</span><span class="ident">Form</span><span class="op"><</span><span class="ident">Info</span><span class="op">>></span>::<span class="ident">from_request</span>(<span class="kw-2">&</span><span class="ident">req</span>, <span class="kw-2">&</span><span class="ident">cfg</span>)
|
||||
.<span class="ident">poll</span>()
|
||||
@ -1874,8 +1900,8 @@
|
||||
<span class="ident">header</span>::<span class="ident">CONTENT_TYPE</span>,
|
||||
<span class="string">"application/x-www-form-urlencoded"</span>,
|
||||
).<span class="ident">header</span>(<span class="ident">header</span>::<span class="ident">CONTENT_LENGTH</span>, <span class="string">"11"</span>)
|
||||
.<span class="ident">set_payload</span>(<span class="ident">Bytes</span>::<span class="ident">from_static</span>(<span class="string">b"hello=world"</span>))
|
||||
.<span class="ident">finish</span>();
|
||||
.<span class="ident">set_payload</span>(<span class="ident">Bytes</span>::<span class="ident">from_static</span>(<span class="string">b"hello=world"</span>))
|
||||
.<span class="ident">finish</span>();
|
||||
|
||||
<span class="kw">match</span> <span class="prelude-ty">Result</span>::<span class="op"><</span><span class="ident">Form</span><span class="op"><</span><span class="ident">Info</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span>::<span class="ident">from_request</span>(<span class="kw-2">&</span><span class="ident">req</span>, <span class="kw-2">&</span><span class="ident">FormConfig</span>::<span class="ident">default</span>())
|
||||
.<span class="ident">poll</span>()
|
||||
@ -1894,8 +1920,8 @@
|
||||
<span class="ident">header</span>::<span class="ident">CONTENT_TYPE</span>,
|
||||
<span class="string">"application/x-www-form-urlencoded"</span>,
|
||||
).<span class="ident">header</span>(<span class="ident">header</span>::<span class="ident">CONTENT_LENGTH</span>, <span class="string">"9"</span>)
|
||||
.<span class="ident">set_payload</span>(<span class="ident">Bytes</span>::<span class="ident">from_static</span>(<span class="string">b"bye=world"</span>))
|
||||
.<span class="ident">finish</span>();
|
||||
.<span class="ident">set_payload</span>(<span class="ident">Bytes</span>::<span class="ident">from_static</span>(<span class="string">b"bye=world"</span>))
|
||||
.<span class="ident">finish</span>();
|
||||
|
||||
<span class="kw">match</span> <span class="prelude-ty">Result</span>::<span class="op"><</span><span class="ident">Form</span><span class="op"><</span><span class="ident">Info</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span>::<span class="ident">from_request</span>(<span class="kw-2">&</span><span class="ident">req</span>, <span class="kw-2">&</span><span class="ident">FormConfig</span>::<span class="ident">default</span>())
|
||||
.<span class="ident">poll</span>()
|
||||
@ -1945,7 +1971,7 @@
|
||||
<span class="kw">fn</span> <span class="ident">test_request_extract</span>() {
|
||||
<span class="kw">let</span> <span class="ident">req</span> <span class="op">=</span> <span class="ident">TestRequest</span>::<span class="ident">with_uri</span>(<span class="string">"/name/user1/?id=test"</span>).<span class="ident">finish</span>();
|
||||
|
||||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">router</span> <span class="op">=</span> <span class="ident">Router</span>::<span class="op"><</span>()<span class="op">></span>::<span class="ident">new</span>();
|
||||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">router</span> <span class="op">=</span> <span class="ident">Router</span>::<span class="op"><</span>()<span class="op">></span>::<span class="ident">default</span>();
|
||||
<span class="ident">router</span>.<span class="ident">register_resource</span>(<span class="ident">Resource</span>::<span class="ident">new</span>(<span class="ident">ResourceDef</span>::<span class="ident">new</span>(<span class="string">"/{key}/{value}/"</span>)));
|
||||
<span class="kw">let</span> <span class="ident">info</span> <span class="op">=</span> <span class="ident">router</span>.<span class="ident">recognize</span>(<span class="kw-2">&</span><span class="ident">req</span>, <span class="kw-2">&</span>(), <span class="number">0</span>);
|
||||
<span class="kw">let</span> <span class="ident">req</span> <span class="op">=</span> <span class="ident">req</span>.<span class="ident">with_route_info</span>(<span class="ident">info</span>);
|
||||
@ -1961,7 +1987,7 @@
|
||||
<span class="kw">let</span> <span class="ident">s</span> <span class="op">=</span> <span class="ident">Query</span>::<span class="op"><</span><span class="ident">Id</span><span class="op">></span>::<span class="ident">from_request</span>(<span class="kw-2">&</span><span class="ident">req</span>, <span class="kw-2">&</span>()).<span class="ident">unwrap</span>();
|
||||
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">s</span>.<span class="ident">id</span>, <span class="string">"test"</span>);
|
||||
|
||||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">router</span> <span class="op">=</span> <span class="ident">Router</span>::<span class="op"><</span>()<span class="op">></span>::<span class="ident">new</span>();
|
||||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">router</span> <span class="op">=</span> <span class="ident">Router</span>::<span class="op"><</span>()<span class="op">></span>::<span class="ident">default</span>();
|
||||
<span class="ident">router</span>.<span class="ident">register_resource</span>(<span class="ident">Resource</span>::<span class="ident">new</span>(<span class="ident">ResourceDef</span>::<span class="ident">new</span>(<span class="string">"/{key}/{value}/"</span>)));
|
||||
<span class="kw">let</span> <span class="ident">req</span> <span class="op">=</span> <span class="ident">TestRequest</span>::<span class="ident">with_uri</span>(<span class="string">"/name/32/"</span>).<span class="ident">finish</span>();
|
||||
<span class="kw">let</span> <span class="ident">info</span> <span class="op">=</span> <span class="ident">router</span>.<span class="ident">recognize</span>(<span class="kw-2">&</span><span class="ident">req</span>, <span class="kw-2">&</span>(), <span class="number">0</span>);
|
||||
@ -1982,7 +2008,7 @@
|
||||
|
||||
<span class="attribute">#[<span class="ident">test</span>]</span>
|
||||
<span class="kw">fn</span> <span class="ident">test_extract_path_single</span>() {
|
||||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">router</span> <span class="op">=</span> <span class="ident">Router</span>::<span class="op"><</span>()<span class="op">></span>::<span class="ident">new</span>();
|
||||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">router</span> <span class="op">=</span> <span class="ident">Router</span>::<span class="op"><</span>()<span class="op">></span>::<span class="ident">default</span>();
|
||||
<span class="ident">router</span>.<span class="ident">register_resource</span>(<span class="ident">Resource</span>::<span class="ident">new</span>(<span class="ident">ResourceDef</span>::<span class="ident">new</span>(<span class="string">"/{value}/"</span>)));
|
||||
|
||||
<span class="kw">let</span> <span class="ident">req</span> <span class="op">=</span> <span class="ident">TestRequest</span>::<span class="ident">with_uri</span>(<span class="string">"/32/"</span>).<span class="ident">finish</span>();
|
||||
@ -1993,7 +2019,7 @@
|
||||
|
||||
<span class="attribute">#[<span class="ident">test</span>]</span>
|
||||
<span class="kw">fn</span> <span class="ident">test_tuple_extract</span>() {
|
||||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">router</span> <span class="op">=</span> <span class="ident">Router</span>::<span class="op"><</span>()<span class="op">></span>::<span class="ident">new</span>();
|
||||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">router</span> <span class="op">=</span> <span class="ident">Router</span>::<span class="op"><</span>()<span class="op">></span>::<span class="ident">default</span>();
|
||||
<span class="ident">router</span>.<span class="ident">register_resource</span>(<span class="ident">Resource</span>::<span class="ident">new</span>(<span class="ident">ResourceDef</span>::<span class="ident">new</span>(<span class="string">"/{key}/{value}/"</span>)));
|
||||
|
||||
<span class="kw">let</span> <span class="ident">req</span> <span class="op">=</span> <span class="ident">TestRequest</span>::<span class="ident">with_uri</span>(<span class="string">"/name/user1/?id=test"</span>).<span class="ident">finish</span>();
|
||||
@ -2017,6 +2043,8 @@
|
||||
<span class="macro">assert_eq</span><span class="macro">!</span>((<span class="ident">res</span>.<span class="number">0</span>).<span class="number">1</span>, <span class="string">"user1"</span>);
|
||||
<span class="macro">assert_eq</span><span class="macro">!</span>((<span class="ident">res</span>.<span class="number">1</span>).<span class="number">0</span>, <span class="string">"name"</span>);
|
||||
<span class="macro">assert_eq</span><span class="macro">!</span>((<span class="ident">res</span>.<span class="number">1</span>).<span class="number">1</span>, <span class="string">"user1"</span>);
|
||||
|
||||
<span class="kw">let</span> () <span class="op">=</span> <span class="op"><</span>()<span class="op">></span>::<span class="ident">extract</span>(<span class="kw-2">&</span><span class="ident">req</span>);
|
||||
}
|
||||
}
|
||||
</pre>
|
||||
|
Reference in New Issue
Block a user