mirror of
https://github.com/actix/actix-website
synced 2025-07-01 17:15:08 +02:00
update actix-web api docs
This commit is contained in:
@ -531,6 +531,18 @@
|
||||
<span id="531">531</span>
|
||||
<span id="532">532</span>
|
||||
<span id="533">533</span>
|
||||
<span id="534">534</span>
|
||||
<span id="535">535</span>
|
||||
<span id="536">536</span>
|
||||
<span id="537">537</span>
|
||||
<span id="538">538</span>
|
||||
<span id="539">539</span>
|
||||
<span id="540">540</span>
|
||||
<span id="541">541</span>
|
||||
<span id="542">542</span>
|
||||
<span id="543">543</span>
|
||||
<span id="544">544</span>
|
||||
<span id="545">545</span>
|
||||
</pre><pre class="rust ">
|
||||
<span class="doccomment">//! HTTP Request message related code.</span>
|
||||
<span class="kw">use</span> <span class="ident">std</span>::<span class="ident">cell</span>::{<span class="ident">Ref</span>, <span class="ident">RefMut</span>};
|
||||
@ -615,6 +627,15 @@
|
||||
}
|
||||
}
|
||||
|
||||
<span class="doccomment">/// Construct new http request with empty state.</span>
|
||||
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">drop_state</span>(<span class="kw-2">&</span><span class="self">self</span>) <span class="op">-></span> <span class="ident">HttpRequest</span> {
|
||||
<span class="ident">HttpRequest</span> {
|
||||
<span class="ident">state</span>: <span class="ident">Rc</span>::<span class="ident">new</span>(()),
|
||||
<span class="ident">req</span>: <span class="self">self</span>.<span class="ident">req</span>.<span class="ident">as_ref</span>().<span class="ident">map</span>(<span class="op">|</span><span class="ident">r</span><span class="op">|</span> <span class="ident">r</span>.<span class="ident">clone</span>()),
|
||||
<span class="ident">resource</span>: <span class="self">self</span>.<span class="ident">resource</span>.<span class="ident">clone</span>(),
|
||||
}
|
||||
}
|
||||
|
||||
<span class="attribute">#[<span class="ident">inline</span>]</span>
|
||||
<span class="doccomment">/// Construct new http request with new RouteInfo.</span>
|
||||
<span class="kw">pub</span>(<span class="kw">crate</span>) <span class="kw">fn</span> <span class="ident">with_route_info</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="kw-2">mut</span> <span class="ident">resource</span>: <span class="ident">ResourceInfo</span>) <span class="op">-></span> <span class="ident">HttpRequest</span><span class="op"><</span><span class="ident">S</span><span class="op">></span> {
|
||||
@ -789,7 +810,8 @@
|
||||
<span class="kw">if</span> <span class="self">self</span>.<span class="ident">extensions</span>().<span class="ident">get</span>::<span class="op"><</span><span class="ident">Cookies</span><span class="op">></span>().<span class="ident">is_none</span>() {
|
||||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">cookies</span> <span class="op">=</span> <span class="ident">Vec</span>::<span class="ident">new</span>();
|
||||
<span class="kw">for</span> <span class="ident">hdr</span> <span class="kw">in</span> <span class="self">self</span>.<span class="ident">request</span>().<span class="ident">inner</span>.<span class="ident">headers</span>.<span class="ident">get_all</span>(<span class="ident">header</span>::<span class="ident">COOKIE</span>) {
|
||||
<span class="kw">let</span> <span class="ident">s</span> <span class="op">=</span> <span class="ident">str</span>::<span class="ident">from_utf8</span>(<span class="ident">hdr</span>.<span class="ident">as_bytes</span>()).<span class="ident">map_err</span>(<span class="ident">CookieParseError</span>::<span class="ident">from</span>)<span class="question-mark">?</span>;
|
||||
<span class="kw">let</span> <span class="ident">s</span> <span class="op">=</span>
|
||||
<span class="ident">str</span>::<span class="ident">from_utf8</span>(<span class="ident">hdr</span>.<span class="ident">as_bytes</span>()).<span class="ident">map_err</span>(<span class="ident">CookieParseError</span>::<span class="ident">from</span>)<span class="question-mark">?</span>;
|
||||
<span class="kw">for</span> <span class="ident">cookie_str</span> <span class="kw">in</span> <span class="ident">s</span>.<span class="ident">split</span>(<span class="string">';'</span>).<span class="ident">map</span>(<span class="op">|</span><span class="ident">s</span><span class="op">|</span> <span class="ident">s</span>.<span class="ident">trim</span>()) {
|
||||
<span class="kw">if</span> <span class="op">!</span><span class="ident">cookie_str</span>.<span class="ident">is_empty</span>() {
|
||||
<span class="ident">cookies</span>.<span class="ident">push</span>(<span class="ident">Cookie</span>::<span class="ident">parse_encoded</span>(<span class="ident">cookie_str</span>)<span class="question-mark">?</span>.<span class="ident">into_owned</span>());
|
||||
@ -878,24 +900,24 @@
|
||||
|
||||
<span class="kw">impl</span><span class="op"><</span><span class="ident">S</span><span class="op">></span> <span class="ident">fmt</span>::<span class="ident">Debug</span> <span class="kw">for</span> <span class="ident">HttpRequest</span><span class="op"><</span><span class="ident">S</span><span class="op">></span> {
|
||||
<span class="kw">fn</span> <span class="ident">fmt</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">f</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">fmt</span>::<span class="ident">Formatter</span>) <span class="op">-></span> <span class="ident">fmt</span>::<span class="prelude-ty">Result</span> {
|
||||
<span class="kw">let</span> <span class="ident">res</span> <span class="op">=</span> <span class="macro">writeln</span><span class="macro">!</span>(
|
||||
<span class="macro">writeln</span><span class="macro">!</span>(
|
||||
<span class="ident">f</span>,
|
||||
<span class="string">"\nHttpRequest {:?} {}:{}"</span>,
|
||||
<span class="self">self</span>.<span class="ident">version</span>(),
|
||||
<span class="self">self</span>.<span class="ident">method</span>(),
|
||||
<span class="self">self</span>.<span class="ident">path</span>()
|
||||
);
|
||||
)<span class="question-mark">?</span>;
|
||||
<span class="kw">if</span> <span class="op">!</span><span class="self">self</span>.<span class="ident">query_string</span>().<span class="ident">is_empty</span>() {
|
||||
<span class="kw">let</span> <span class="kw">_</span> <span class="op">=</span> <span class="macro">writeln</span><span class="macro">!</span>(<span class="ident">f</span>, <span class="string">" query: ?{:?}"</span>, <span class="self">self</span>.<span class="ident">query_string</span>());
|
||||
<span class="macro">writeln</span><span class="macro">!</span>(<span class="ident">f</span>, <span class="string">" query: ?{:?}"</span>, <span class="self">self</span>.<span class="ident">query_string</span>())<span class="question-mark">?</span>;
|
||||
}
|
||||
<span class="kw">if</span> <span class="op">!</span><span class="self">self</span>.<span class="ident">match_info</span>().<span class="ident">is_empty</span>() {
|
||||
<span class="kw">let</span> <span class="kw">_</span> <span class="op">=</span> <span class="macro">writeln</span><span class="macro">!</span>(<span class="ident">f</span>, <span class="string">" params: {:?}"</span>, <span class="self">self</span>.<span class="ident">match_info</span>());
|
||||
<span class="macro">writeln</span><span class="macro">!</span>(<span class="ident">f</span>, <span class="string">" params: {:?}"</span>, <span class="self">self</span>.<span class="ident">match_info</span>())<span class="question-mark">?</span>;
|
||||
}
|
||||
<span class="kw">let</span> <span class="kw">_</span> <span class="op">=</span> <span class="macro">writeln</span><span class="macro">!</span>(<span class="ident">f</span>, <span class="string">" headers:"</span>);
|
||||
<span class="macro">writeln</span><span class="macro">!</span>(<span class="ident">f</span>, <span class="string">" headers:"</span>)<span class="question-mark">?</span>;
|
||||
<span class="kw">for</span> (<span class="ident">key</span>, <span class="ident">val</span>) <span class="kw">in</span> <span class="self">self</span>.<span class="ident">headers</span>().<span class="ident">iter</span>() {
|
||||
<span class="kw">let</span> <span class="kw">_</span> <span class="op">=</span> <span class="macro">writeln</span><span class="macro">!</span>(<span class="ident">f</span>, <span class="string">" {:?}: {:?}"</span>, <span class="ident">key</span>, <span class="ident">val</span>);
|
||||
<span class="macro">writeln</span><span class="macro">!</span>(<span class="ident">f</span>, <span class="string">" {:?}: {:?}"</span>, <span class="ident">key</span>, <span class="ident">val</span>)<span class="question-mark">?</span>;
|
||||
}
|
||||
<span class="ident">res</span>
|
||||
<span class="prelude-val">Ok</span>(())
|
||||
}
|
||||
}
|
||||
|
||||
@ -954,7 +976,7 @@
|
||||
|
||||
<span class="attribute">#[<span class="ident">test</span>]</span>
|
||||
<span class="kw">fn</span> <span class="ident">test_request_match_info</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}/"</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">"/value/?id=test"</span>).<span class="ident">finish</span>();
|
||||
@ -964,7 +986,7 @@
|
||||
|
||||
<span class="attribute">#[<span class="ident">test</span>]</span>
|
||||
<span class="kw">fn</span> <span class="ident">test_url_for</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="kw">let</span> <span class="kw-2">mut</span> <span class="ident">resource</span> <span class="op">=</span> <span class="ident">Resource</span>::<span class="ident">new</span>(<span class="ident">ResourceDef</span>::<span class="ident">new</span>(<span class="string">"/user/{name}.{ext}"</span>));
|
||||
<span class="ident">resource</span>.<span class="ident">name</span>(<span class="string">"index"</span>);
|
||||
<span class="ident">router</span>.<span class="ident">register_resource</span>(<span class="ident">resource</span>);
|
||||
@ -998,7 +1020,8 @@
|
||||
<span class="kw">fn</span> <span class="ident">test_url_for_with_prefix</span>() {
|
||||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">resource</span> <span class="op">=</span> <span class="ident">Resource</span>::<span class="ident">new</span>(<span class="ident">ResourceDef</span>::<span class="ident">new</span>(<span class="string">"/user/{name}.html"</span>));
|
||||
<span class="ident">resource</span>.<span class="ident">name</span>(<span class="string">"index"</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">set_prefix</span>(<span class="string">"/prefix"</span>);
|
||||
<span class="ident">router</span>.<span class="ident">register_resource</span>(<span class="ident">resource</span>);
|
||||
|
||||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">info</span> <span class="op">=</span> <span class="ident">router</span>.<span class="ident">default_route_info</span>();
|
||||
@ -1024,7 +1047,8 @@
|
||||
<span class="kw">fn</span> <span class="ident">test_url_for_static</span>() {
|
||||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">resource</span> <span class="op">=</span> <span class="ident">Resource</span>::<span class="ident">new</span>(<span class="ident">ResourceDef</span>::<span class="ident">new</span>(<span class="string">"/index.html"</span>));
|
||||
<span class="ident">resource</span>.<span class="ident">name</span>(<span class="string">"index"</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">set_prefix</span>(<span class="string">"/prefix"</span>);
|
||||
<span class="ident">router</span>.<span class="ident">register_resource</span>(<span class="ident">resource</span>);
|
||||
|
||||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">info</span> <span class="op">=</span> <span class="ident">router</span>.<span class="ident">default_route_info</span>();
|
||||
@ -1047,7 +1071,7 @@
|
||||
|
||||
<span class="attribute">#[<span class="ident">test</span>]</span>
|
||||
<span class="kw">fn</span> <span class="ident">test_url_for_external</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_external</span>(
|
||||
<span class="string">"youtube"</span>,
|
||||
<span class="ident">ResourceDef</span>::<span class="ident">external</span>(<span class="string">"https://youtube.com/watch/{video_id}"</span>),
|
||||
|
Reference in New Issue
Block a user