mirror of
https://github.com/fafhrd91/actix-web
synced 2024-11-27 17:52:56 +01:00
219 lines
105 KiB
HTML
219 lines
105 KiB
HTML
|
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><meta name="generator" content="rustdoc"><meta name="description" content="A type that implements `FromRequest` is called an extractor and can extract data from the request. Some types that implement this trait are: `Json`, `Header`, and `Path`."><title>FromRequest in actix_web - Rust</title><script>if(window.location.protocol!=="file:")document.head.insertAdjacentHTML("beforeend","SourceSerif4-Regular-46f98efaafac5295.ttf.woff2,FiraSans-Regular-018c141bf0843ffd.woff2,FiraSans-Medium-8f9a781e4970d388.woff2,SourceCodePro-Regular-562dcc5011b6de7d.ttf.woff2,SourceCodePro-Semibold-d899c5a5c4aeb14a.ttf.woff2".split(",").map(f=>`<link rel="preload" as="font" type="font/woff2" crossorigin href="../static.files/${f}">`).join(""))</script><link rel="stylesheet" href="../static.files/normalize-76eba96aa4d2e634.css"><link rel="stylesheet" href="../static.files/rustdoc-dd39b87e5fcfba68.css"><meta name="rustdoc-vars" data-root-path="../" data-static-root-path="../static.files/" data-current-crate="actix_web" data-themes="" data-resource-suffix="" data-rustdoc-version="1.80.0-nightly (bdbbb6c6a 2024-05-26)" data-channel="nightly" data-search-js="search-d52510db62a78183.js" data-settings-js="settings-4313503d2e1961c2.js" ><script src="../static.files/storage-118b08c4c78b968e.js"></script><script defer src="sidebar-items.js"></script><script defer src="../static.files/main-20a3ad099b048cf2.js"></script><noscript><link rel="stylesheet" href="../static.files/noscript-df360f571f6edeae.css"></noscript><link rel="icon" href="https://actix.rs/favicon.ico"></head><body class="rustdoc trait"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="mobile-topbar"><button class="sidebar-menu-toggle" title="show sidebar"></button><a class="logo-container" href="../actix_web/index.html"><img src="https://actix.rs/img/logo.png" alt=""></a></nav><nav class="sidebar"><div class="sidebar-crate"><a class="logo-container" href="../actix_web/index.html"><img src="https://actix.rs/img/logo.png" alt="logo"></a><h2><a href="../actix_web/index.html">actix_web</a><span class="version">4.6.0</span></h2></div><h2 class="location"><a href="#">FromRequest</a></h2><div class="sidebar-elems"><section><h3><a href="#required-associated-types">Required Associated Types</a></h3><ul class="block"><li><a href="#associatedtype.Error">Error</a></li><li><a href="#associatedtype.Future">Future</a></li></ul><h3><a href="#required-methods">Required Methods</a></h3><ul class="block"><li><a href="#tymethod.from_request">from_request</a></li></ul><h3><a href="#provided-methods">Provided Methods</a></h3><ul class="block"><li><a href="#method.extract">extract</a></li></ul><h3><a href="#foreign-impls">Implementations on Foreign Types</a></h3><ul class="block"><li><a href="#impl-FromRequest-for-()">()</a></li><li><a href="#impl-FromRequest-for-(A,+B)">(A, B)</a></li><li><a href="#impl-FromRequest-for-(A,+B,+C)">(A, B, C)</a></li><li><a href="#impl-FromRequest-for-(A,+B,+C,+D)">(A, B, C, D)</a></li><li><a href="#impl-FromRequest-for-(A,+B,+C,+D,+E)">(A, B, C, D, E)</a></li><li><a href="#impl-FromRequest-for-(A,+B,+C,+D,+E,+F)">(A, B, C, D, E, F)</a></li><li><a href="#impl-FromRequest-for-(A,+B,+C,+D,+E,+F,+G)">(A, B, C, D, E, F, G)</a></li><li><a href="#impl-FromRequest-for-(A,+B,+C,+D,+E,+F,+G,+H)">(A, B, C, D, E, F, G, H)</a></li><li><a href="#impl-FromRequest-for-(A,+B,+C,+D,+E,+F,+G,+H,+I)">(A, B, C, D, E, F, G, H, I)</a></li><li><a href="#impl-FromRequest-for-(A,+B,+C,+D,+E,+F,+G,+H,+I,+J)">(A, B, C, D, E, F, G, H, I, J)</a></li><li><a href="#impl-FromRequest-for-(A,+B,+C,+D,+E,+F,+G,+H,+I,+J,+K)">(A, B, C, D, E, F, G, H, I, J, K)</a></li><li><a href="#impl-FromRequest-for-(A,+B,+C,+D,+E,+F,+G,+H,+I,+J,+K,+L)">(A, B, C, D, E, F, G, H, I, J, K, L)</a></li><li><a href="#impl-FromRequest-for-(A,+B,+C,+D,+E,+F,+G,+H,+I,+J,+K,+L,+M)">(A, B, C, D, E, F, G, H, I, J, K, L, M)
|
|||
|
type <a href="#associatedtype.Error" class="associatedtype">Error</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><<a class="struct" href="error/struct.Error.html" title="struct actix_web::error::Error">Error</a>>;
|
|||
|
type <a href="#associatedtype.Future" class="associatedtype">Future</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, Self::<a class="associatedtype" href="trait.FromRequest.html#associatedtype.Error" title="type actix_web::FromRequest::Error">Error</a>>>;
|
|||
|
|
|||
|
// Required method
|
|||
|
fn <a href="#tymethod.from_request" class="fn">from_request</a>(req: &<a class="struct" href="struct.HttpRequest.html" title="struct actix_web::HttpRequest">HttpRequest</a>, payload: &mut <a class="enum" href="dev/enum.Payload.html" title="enum actix_web::dev::Payload">Payload</a>) -> Self::<a class="associatedtype" href="trait.FromRequest.html#associatedtype.Future" title="type actix_web::FromRequest::Future">Future</a>;
|
|||
|
|
|||
|
// Provided method
|
|||
|
fn <a href="#method.extract" class="fn">extract</a>(req: &<a class="struct" href="struct.HttpRequest.html" title="struct actix_web::HttpRequest">HttpRequest</a>) -> Self::<a class="associatedtype" href="trait.FromRequest.html#associatedtype.Future" title="type actix_web::FromRequest::Future">Future</a> { ... }
|
|||
|
}</code></pre><details class="toggle top-doc" open><summary class="hideme"><span>Expand description</span></summary><div class="docblock"><p>A type that implements <a href="trait.FromRequest.html" title="trait actix_web::FromRequest"><code>FromRequest</code></a> is called an <strong>extractor</strong> and can extract data from
|
|||
|
the request. Some types that implement this trait are: <a href="web/struct.Json.html" title="struct actix_web::web::Json"><code>Json</code></a>, <a href="web/struct.Header.html" title="struct actix_web::web::Header"><code>Header</code></a>, and <a href="web/struct.Path.html" title="struct actix_web::web::Path"><code>Path</code></a>.</p>
|
|||
|
<p>Check out <a href="dev/struct.ServiceRequest.html#method.extract" title="method actix_web::dev::ServiceRequest::extract"><code>ServiceRequest::extract</code></a> if you want to
|
|||
|
leverage extractors when implementing middlewares.</p>
|
|||
|
<h2 id="configuration"><a class="doc-anchor" href="#configuration">§</a>Configuration</h2>
|
|||
|
<p>An extractor can be customized by injecting the corresponding configuration with one of:</p>
|
|||
|
<ul>
|
|||
|
<li><a href="struct.App.html#method.app_data" title="method actix_web::App::app_data"><code>App::app_data()</code></a></li>
|
|||
|
<li><a href="struct.Scope.html#method.app_data" title="method actix_web::Scope::app_data"><code>Scope::app_data()</code></a></li>
|
|||
|
<li><a href="struct.Resource.html#method.app_data" title="method actix_web::Resource::app_data"><code>Resource::app_data()</code></a></li>
|
|||
|
</ul>
|
|||
|
<p>Here are some built-in extractors and their corresponding configuration.
|
|||
|
Please refer to the respective documentation for details.</p>
|
|||
|
<div><table><thead><tr><th>Extractor</th><th>Configuration</th></tr></thead><tbody>
|
|||
|
<tr><td><a href="web/struct.Header.html" title="struct actix_web::web::Header"><code>Header</code></a></td><td><em>None</em></td></tr>
|
|||
|
<tr><td><a href="web/struct.Path.html" title="struct actix_web::web::Path"><code>Path</code></a></td><td><a href="web/struct.PathConfig.html" title="struct actix_web::web::PathConfig"><code>PathConfig</code></a></td></tr>
|
|||
|
<tr><td><a href="web/struct.Json.html" title="struct actix_web::web::Json"><code>Json</code></a></td><td><a href="web/struct.JsonConfig.html" title="struct actix_web::web::JsonConfig"><code>JsonConfig</code></a></td></tr>
|
|||
|
<tr><td><a href="web/struct.Form.html" title="struct actix_web::web::Form"><code>Form</code></a></td><td><a href="web/struct.FormConfig.html" title="struct actix_web::web::FormConfig"><code>FormConfig</code></a></td></tr>
|
|||
|
<tr><td><a href="web/struct.Query.html" title="struct actix_web::web::Query"><code>Query</code></a></td><td><a href="web/struct.QueryConfig.html" title="struct actix_web::web::QueryConfig"><code>QueryConfig</code></a></td></tr>
|
|||
|
<tr><td><a href="web/struct.Bytes.html#impl-FromRequest" title="struct actix_web::web::Bytes"><code>Bytes</code></a></td><td><a href="web/struct.PayloadConfig.html" title="struct actix_web::web::PayloadConfig"><code>PayloadConfig</code></a></td></tr>
|
|||
|
<tr><td><a href="trait.FromRequest.html#impl-FromRequest-for-String" title="trait actix_web::FromRequest"><code>String</code></a></td><td><a href="web/struct.PayloadConfig.html" title="struct actix_web::web::PayloadConfig"><code>PayloadConfig</code></a></td></tr>
|
|||
|
<tr><td><a href="web/struct.Payload.html" title="struct actix_web::web::Payload"><code>Payload</code></a></td><td><a href="web/struct.PayloadConfig.html" title="struct actix_web::web::PayloadConfig"><code>PayloadConfig</code></a></td></tr>
|
|||
|
</tbody></table>
|
|||
|
</div><h2 id="implementing-an-extractor"><a class="doc-anchor" href="#implementing-an-extractor">§</a>Implementing An Extractor</h2>
|
|||
|
<p>To reduce duplicate code in handlers where extracting certain parts of a request has a common
|
|||
|
structure, you can implement <code>FromRequest</code> for your own types.</p>
|
|||
|
<p>Note that the request payload can only be consumed by one extractor.</p>
|
|||
|
</div></details><h2 id="required-associated-types" class="section-header">Required Associated Types<a href="#required-associated-types" class="anchor">§</a></h2><div class="methods"><details class="toggle" open><summary><section id="associatedtype.Error" class="method"><a class="src rightside" href="../src/actix_web/extract.rs.html#67">source</a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><<a class="struct" href="error/struct.Error.html" title="struct actix_web::error::Error">Error</a>></h4></section></summary><div class="docblock"><p>The associated error which can be returned.</p>
|
|||
|
</div></details><details class="toggle" open><summary><section id="associatedtype.Future" class="method"><a class="src rightside" href="../src/actix_web/extract.rs.html#86">source</a><h4 class="code-header">type <a href="#associatedtype.Future" class="associatedtype">Future</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/future/future/trait.Future.html" title="trait core::future::future::Future">Future</a><Output = <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><Self, Self::<a class="associatedtype" href="trait.FromRequest.html#associatedtype.Error" title="type actix_web::FromRequest::Error">Error</a>>></h4></section></summary><div class="docblock"><p>Future that resolves to a <code>Self</code>.</p>
|
|||
|
<p>To use an async function or block, the futures must be boxed. The following snippet will be
|
|||
|
common when creating async/await extractors (that do not consume the body).</p>
|
|||
|
|
|||
|
<div class="example-wrap ignore"><a href="#" class="tooltip" title="This example is not tested">ⓘ</a><pre class="rust rust-example-rendered"><code><span class="kw">type </span>Future = Pin<Box<<span class="kw">dyn </span>Future<Output = <span class="prelude-ty">Result</span><<span class="self">Self</span>, <span class="self">Self</span>::Error>>>>;
|
|||
|
<span class="comment">// or
|
|||
|
</span><span class="kw">type </span>Future = futures_util::future::LocalBoxFuture<<span class="lifetime">'static</span>, <span class="prelude-ty">Result</span><<span class="self">Self</span>, <span class="self">Self</span>::Error>>;
|
|||
|
|
|||
|
<span class="kw">fn </span>from_request(req: HttpRequest, ...) -> <span class="self">Self</span>::Future {
|
|||
|
<span class="kw">let </span>req = req.clone();
|
|||
|
Box::pin(<span class="kw">async move </span>{
|
|||
|
...
|
|||
|
})
|
|||
|
}</code></pre></div>
|
|||
|
</div></details></div><h2 id="required-methods" class="section-header">Required Methods<a href="#required-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="tymethod.from_request" class="method"><a class="src rightside" href="../src/actix_web/extract.rs.html#89">source</a><h4 class="code-header">fn <a href="#tymethod.from_request" class="fn">from_request</a>(req: &<a class="struct" href="struct.HttpRequest.html" title="struct actix_web::HttpRequest">HttpRequest</a>, payload: &mut <a class="enum" href="dev/enum.Payload.html" title="enum actix_web::dev::Payload">Payload</a>) -> Self::<a class="associatedtype" href="trait.FromRequest.html#associatedtype.Future" title="type actix_web::FromRequest::Future">Future</a></h4></section></summary><div class="docblock"><p>Create a <code>Self</code> from request parts asynchronously.</p>
|
|||
|
</div></details></div><h2 id="provided-methods" class="section-header">Provided Methods<a href="#provided-methods" class="anchor">§</a></h2><div class="methods"><details class="toggle method-toggle" open><summary><section id="method.extract" class="method"><a class="src rightside" href="../src/actix_web/extract.rs.html#94-96">source</a><h4 class="code-header">fn <a href="#method.extract" class="fn">extract</a>(req: &<a class="struct" href="struct.HttpRequest.html" title="struct actix_web::HttpRequest">HttpRequest</a>) -> Self::<a class="associatedtype" href="trait.FromRequest.html#associatedtype.Future" title="type actix_web::FromRequest::Future">Future</a></h4></section></summary><div class="docblock"><p>Create a <code>Self</code> from request head asynchronously.</p>
|
|||
|
<p>This method is short for <code>T::from_request(req, &mut Payload::None)</code>.</p>
|
|||
|
</div></details></div><h2 id="object-safety" class="section-header">Object Safety<a href="#object-safety" class="anchor">§</a></h2><div class="object-safety-info">This trait is <b>not</b> <a href="https://doc.rust-lang.org/nightly/reference/items/traits.html#object-safety">object safe</a>.</div><h2 id="foreign-impls" class="section-header">Implementations on Foreign Types<a href="#foreign-impls" class="anchor">§</a></h2><details class="toggle implementors-toggle"><summary><section id="impl-FromRequest-for-()" class="impl"><a class="src rightside" href="../src/actix_web/extract.rs.html#398-405">source</a><a href="#impl-FromRequest-for-()" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> for <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a></h3></section></summary><div class="impl-items"><section id="associatedtype.Error-1" class="associatedtype trait-impl"><a href="#associatedtype.Error-1" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section><section id="associatedtype.Future-1" class="associatedtype trait-impl"><a href="#associatedtype.Future-1" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Future" class="associatedtype">Future</a> = Ready<<a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>, <<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a> as <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a>>::<a class="associatedtype" href="trait.FromRequest.html#associatedtype.Error" title="type actix_web::FromRequest::Error">Error</a>>></h4></section><section id="method.from_request" class="method trait-impl"><a class="src rightside" href="../src/actix_web/extract.rs.html#402-404">source</a><a href="#method.from_request" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.from_request" class="fn">from_request</a>(_: &<a class="struct" href="struct.HttpRequest.html" title="struct actix_web::HttpRequest">HttpRequest</a>, _: &mut <a class="enum" href="dev/enum.Payload.html" title="enum actix_web::dev::Payload">Payload</a>) -> Self::<a class="associatedtype" href="trait.FromRequest.html#associatedtype.Future" title="type actix_web::FromRequest::Future">Future</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-FromRequest-for-String" class="impl"><a class="src rightside" href="../src/actix_web/types/payload.rs.html#205-228">source</a><a href="#impl-FromRequest-for-String" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> for <a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a></h3></section></summary><div class="docblock"><p>Extract text information from a request’s body.</p>
|
|||
|
<p>Text extractor automatically decode body according to the request’s charset.</p>
|
|||
|
<p>Use <a href="web/struct.PayloadConfig.html" title="struct actix_web::web::PayloadConfig"><code>PayloadConfig</code></a> to configure extraction process.</p>
|
|||
|
<h4 id="examples"><a class="doc-anchor" href="#examples">§</a>Examples</h4>
|
|||
|
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>actix_web::{post, web, FromRequest};
|
|||
|
|
|||
|
<span class="comment">// extract text data from request
|
|||
|
</span><span class="attr">#[post(<span class="string">"/"</span>)]
|
|||
|
</span><span class="kw">async fn </span>index(text: String) -> String {
|
|||
|
<span class="macro">format!</span>(<span class="string">"Body {}!"</span>, text)
|
|||
|
}</code></pre></div>
|
|||
|
</div><div class="impl-items"><section id="associatedtype.Error-2" class="associatedtype trait-impl"><a href="#associatedtype.Error-2" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = <a class="struct" href="error/struct.Error.html" title="struct actix_web::error::Error">Error</a></h4></section><section id="associatedtype.Future-2" class="associatedtype trait-impl"><a href="#associatedtype.Future-2" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Future" class="associatedtype">Future</a> = Either<StringExtractFut, Ready<<a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>, <a class="struct" href="error/struct.Error.html" title="struct actix_web::error::Error">Error</a>>>></h4></section><section id="method.from_request-1" class="method trait-impl"><a class="src rightside" href="../src/actix_web/types/payload.rs.html#210-227">source</a><a href="#method.from_request-1" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.from_request" class="fn">from_request</a>(req: &<a class="struct" href="struct.HttpRequest.html" title="struct actix_web::HttpRequest">HttpRequest</a>, payload: &mut <a class="enum" href="dev/enum.Payload.html" title="enum actix_web::dev::Payload">Payload</a>) -> Self::<a class="associatedtype" href="trait.FromRequest.html#associatedtype.Future" title="type actix_web::FromRequest::Future">Future</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-FromRequest-for-(A,)" class="impl"><a class="src rightside" href="../src/actix_web/extract.rs.html#407">source</a><a href="#impl-FromRequest-for-(A,)" class="anchor">§</a><h3 class="code-header">impl<A: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static> <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> for <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(A,)</a></h3></section></summary><div class="docblock"><p>FromRequest implementation for tuple</p>
|
|||
|
</div><div class="impl-items"><section id="associatedtype.Error-3" class="associatedtype trait-impl"><a href="#associatedtype.Error-3" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = <a class="struct" href="error/struct.Error.html" title="struct actix_web::error::Error">Error</a></h4></section><section id="associatedtype.Future-3" class="associatedtype trait-impl"><a href="#associatedtype.Future-3" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Future" class="associatedtype">Future</a> = TupleFromRequest1<A></h4></section><section id="method.from_request-2" class="method trait-impl"><a class="src rightside" href="../src/actix_web/extract.rs.html#407">source</a><a href="#method.from_request-2" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.from_request" class="fn">from_request</a>(req: &<a class="struct" href="struct.HttpRequest.html" title="struct actix_web::HttpRequest">HttpRequest</a>, payload: &mut <a class="enum" href="dev/enum.Payload.html" title="enum actix_web::dev::Payload">Payload</a>) -> Self::<a class="associatedtype" href="trait.FromRequest.html#associatedtype.Future" title="type actix_web::FromRequest::Future">Future</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-FromRequest-for-(A,+B)" class="impl"><a class="src rightside" href="../src/actix_web/extract.rs.html#408">source</a><a href="#impl-FromRequest-for-(A,+B)" class="anchor">§</a><h3 class="code-header">impl<A: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, B: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static> <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> for <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(A, B)</a></h3></section></summary><div class="docblock"><p>FromRequest implementation for tuple</p>
|
|||
|
</div><div class="impl-items"><section id="associatedtype.Error-4" class="associatedtype trait-impl"><a href="#associatedtype.Error-4" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = <a class="struct" href="error/struct.Error.html" title="struct actix_web::error::Error">Error</a></h4></section><section id="associatedtype.Future-4" class="associatedtype trait-impl"><a href="#associatedtype.Future-4" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Future" class="associatedtype">Future</a> = TupleFromRequest2<A, B></h4></section><section id="method.from_request-3" class="method trait-impl"><a class="src rightside" href="../src/actix_web/extract.rs.html#408">source</a><a href="#method.from_request-3" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.from_request" class="fn">from_request</a>(req: &<a class="struct" href="struct.HttpRequest.html" title="struct actix_web::HttpRequest">HttpRequest</a>, payload: &mut <a class="enum" href="dev/enum.Payload.html" title="enum actix_web::dev::Payload">Payload</a>) -> Self::<a class="associatedtype" href="trait.FromRequest.html#associatedtype.Future" title="type actix_web::FromRequest::Future">Future</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-FromRequest-for-(A,+B,+C)" class="impl"><a class="src rightside" href="../src/actix_web/extract.rs.html#409">source</a><a href="#impl-FromRequest-for-(A,+B,+C)" class="anchor">§</a><h3 class="code-header">impl<A: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, B: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, C: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static> <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> for <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(A, B, C)</a></h3></section></summary><div class="docblock"><p>FromRequest implementation for tuple</p>
|
|||
|
</div><div class="impl-items"><section id="associatedtype.Error-5" class="associatedtype trait-impl"><a href="#associatedtype.Error-5" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = <a class="struct" href="error/struct.Error.html" title="struct actix_web::error::Error">Error</a></h4></section><section id="associatedtype.Future-5" class="associatedtype trait-impl"><a href="#associatedtype.Future-5" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Future" class="associatedtype">Future</a> = TupleFromRequest3<A, B, C></h4></section><section id="method.from_request-4" class="method trait-impl"><a class="src rightside" href="../src/actix_web/extract.rs.html#409">source</a><a href="#method.from_request-4" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.from_request" class="fn">from_request</a>(req: &<a class="struct" href="struct.HttpRequest.html" title="struct actix_web::HttpRequest">HttpRequest</a>, payload: &mut <a class="enum" href="dev/enum.Payload.html" title="enum actix_web::dev::Payload">Payload</a>) -> Self::<a class="associatedtype" href="trait.FromRequest.html#associatedtype.Future" title="type actix_web::FromRequest::Future">Future</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-FromRequest-for-(A,+B,+C,+D)" class="impl"><a class="src rightside" href="../src/actix_web/extract.rs.html#410">source</a><a href="#impl-FromRequest-for-(A,+B,+C,+D)" class="anchor">§</a><h3 class="code-header">impl<A: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, B: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, C: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, D: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static> <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> for <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(A, B, C, D)</a></h3></section></summary><div class="docblock"><p>FromRequest implementation for tuple</p>
|
|||
|
</div><div class="impl-items"><section id="associatedtype.Error-6" class="associatedtype trait-impl"><a href="#associatedtype.Error-6" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = <a class="struct" href="error/struct.Error.html" title="struct actix_web::error::Error">Error</a></h4></section><section id="associatedtype.Future-6" class="associatedtype trait-impl"><a href="#associatedtype.Future-6" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Future" class="associatedtype">Future</a> = TupleFromRequest4<A, B, C, D></h4></section><section id="method.from_request-5" class="method trait-impl"><a class="src rightside" href="../src/actix_web/extract.rs.html#410">source</a><a href="#method.from_request-5" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.from_request" class="fn">from_request</a>(req: &<a class="struct" href="struct.HttpRequest.html" title="struct actix_web::HttpRequest">HttpRequest</a>, payload: &mut <a class="enum" href="dev/enum.Payload.html" title="enum actix_web::dev::Payload">Payload</a>) -> Self::<a class="associatedtype" href="trait.FromRequest.html#associatedtype.Future" title="type actix_web::FromRequest::Future">Future</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-FromRequest-for-(A,+B,+C,+D,+E)" class="impl"><a class="src rightside" href="../src/actix_web/extract.rs.html#411">source</a><a href="#impl-FromRequest-for-(A,+B,+C,+D,+E)" class="anchor">§</a><h3 class="code-header">impl<A: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, B: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, C: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, D: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, E: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static> <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> for <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(A, B, C, D, E)</a></h3></section></summary><div class="docblock"><p>FromRequest implementation for tuple</p>
|
|||
|
</div><div class="impl-items"><section id="associatedtype.Error-7" class="associatedtype trait-impl"><a href="#associatedtype.Error-7" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = <a class="struct" href="error/struct.Error.html" title="struct actix_web::error::Error">Error</a></h4></section><section id="associatedtype.Future-7" class="associatedtype trait-impl"><a href="#associatedtype.Future-7" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Future" class="associatedtype">Future</a> = TupleFromRequest5<A, B, C, D, E></h4></section><section id="method.from_request-6" class="method trait-impl"><a class="src rightside" href="../src/actix_web/extract.rs.html#411">source</a><a href="#method.from_request-6" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.from_request" class="fn">from_request</a>(req: &<a class="struct" href="struct.HttpRequest.html" title="struct actix_web::HttpRequest">HttpRequest</a>, payload: &mut <a class="enum" href="dev/enum.Payload.html" title="enum actix_web::dev::Payload">Payload</a>) -> Self::<a class="associatedtype" href="trait.FromRequest.html#associatedtype.Future" title="type actix_web::FromRequest::Future">Future</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-FromRequest-for-(A,+B,+C,+D,+E,+F)" class="impl"><a class="src rightside" href="../src/actix_web/extract.rs.html#412">source</a><a href="#impl-FromRequest-for-(A,+B,+C,+D,+E,+F)" class="anchor">§</a><h3 class="code-header">impl<A: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, B: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, C: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, D: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, E: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, F: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static> <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> for <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(A, B, C, D, E, F)</a></h3></section></summary><div class="docblock"><p>FromRequest implementation for tuple</p>
|
|||
|
</div><div class="impl-items"><section id="associatedtype.Error-8" class="associatedtype trait-impl"><a href="#associatedtype.Error-8" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = <a class="struct" href="error/struct.Error.html" title="struct actix_web::error::Error">Error</a></h4></section><section id="associatedtype.Future-8" class="associatedtype trait-impl"><a href="#associatedtype.Future-8" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Future" class="associatedtype">Future</a> = TupleFromRequest6<A, B, C, D, E, F></h4></section><section id="method.from_request-7" class="method trait-impl"><a class="src rightside" href="../src/actix_web/extract.rs.html#412">source</a><a href="#method.from_request-7" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.from_request" class="fn">from_request</a>(req: &<a class="struct" href="struct.HttpRequest.html" title="struct actix_web::HttpRequest">HttpRequest</a>, payload: &mut <a class="enum" href="dev/enum.Payload.html" title="enum actix_web::dev::Payload">Payload</a>) -> Self::<a class="associatedtype" href="trait.FromRequest.html#associatedtype.Future" title="type actix_web::FromRequest::Future">Future</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-FromRequest-for-(A,+B,+C,+D,+E,+F,+G)" class="impl"><a class="src rightside" href="../src/actix_web/extract.rs.html#413">source</a><a href="#impl-FromRequest-for-(A,+B,+C,+D,+E,+F,+G)" class="anchor">§</a><h3 class="code-header">impl<A: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, B: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, C: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, D: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, E: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, F: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, G: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static> <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> for <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(A, B, C, D, E, F, G)</a></h3></section></summary><div class="docblock"><p>FromRequest implementation for tuple</p>
|
|||
|
</div><div class="impl-items"><section id="associatedtype.Error-9" class="associatedtype trait-impl"><a href="#associatedtype.Error-9" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = <a class="struct" href="error/struct.Error.html" title="struct actix_web::error::Error">Error</a></h4></section><section id="associatedtype.Future-9" class="associatedtype trait-impl"><a href="#associatedtype.Future-9" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Future" class="associatedtype">Future</a> = TupleFromRequest7<A, B, C, D, E, F, G></h4></section><section id="method.from_request-8" class="method trait-impl"><a class="src rightside" href="../src/actix_web/extract.rs.html#413">source</a><a href="#method.from_request-8" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.from_request" class="fn">from_request</a>(req: &<a class="struct" href="struct.HttpRequest.html" title="struct actix_web::HttpRequest">HttpRequest</a>, payload: &mut <a class="enum" href="dev/enum.Payload.html" title="enum actix_web::dev::Payload">Payload</a>) -> Self::<a class="associatedtype" href="trait.FromRequest.html#associatedtype.Future" title="type actix_web::FromRequest::Future">Future</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-FromRequest-for-(A,+B,+C,+D,+E,+F,+G,+H)" class="impl"><a class="src rightside" href="../src/actix_web/extract.rs.html#414">source</a><a href="#impl-FromRequest-for-(A,+B,+C,+D,+E,+F,+G,+H)" class="anchor">§</a><h3 class="code-header">impl<A: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, B: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, C: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, D: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, E: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, F: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, G: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, H: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static> <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> for <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(A, B, C, D, E, F, G, H)</a></h3></section></summary><div class="docblock"><p>FromRequest implementation for tuple</p>
|
|||
|
</div><div class="impl-items"><section id="associatedtype.Error-10" class="associatedtype trait-impl"><a href="#associatedtype.Error-10" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = <a class="struct" href="error/struct.Error.html" title="struct actix_web::error::Error">Error</a></h4></section><section id="associatedtype.Future-10" class="associatedtype trait-impl"><a href="#associatedtype.Future-10" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Future" class="associatedtype">Future</a> = TupleFromRequest8<A, B, C, D, E, F, G, H></h4></section><section id="method.from_request-9" class="method trait-impl"><a class="src rightside" href="../src/actix_web/extract.rs.html#414">source</a><a href="#method.from_request-9" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.from_request" class="fn">from_request</a>(req: &<a class="struct" href="struct.HttpRequest.html" title="struct actix_web::HttpRequest">HttpRequest</a>, payload: &mut <a class="enum" href="dev/enum.Payload.html" title="enum actix_web::dev::Payload">Payload</a>) -> Self::<a class="associatedtype" href="trait.FromRequest.html#associatedtype.Future" title="type actix_web::FromRequest::Future">Future</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-FromRequest-for-(A,+B,+C,+D,+E,+F,+G,+H,+I)" class="impl"><a class="src rightside" href="../src/actix_web/extract.rs.html#415">source</a><a href="#impl-FromRequest-for-(A,+B,+C,+D,+E,+F,+G,+H,+I)" class="anchor">§</a><h3 class="code-header">impl<A: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, B: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, C: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, D: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, E: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, F: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, G: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, H: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, I: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static> <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> for <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(A, B, C, D, E, F, G, H, I)</a></h3></section></summary><div class="docblock"><p>FromRequest implementation for tuple</p>
|
|||
|
</div><div class="impl-items"><section id="associatedtype.Error-11" class="associatedtype trait-impl"><a href="#associatedtype.Error-11" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = <a class="struct" href="error/struct.Error.html" title="struct actix_web::error::Error">Error</a></h4></section><section id="associatedtype.Future-11" class="associatedtype trait-impl"><a href="#associatedtype.Future-11" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Future" class="associatedtype">Future</a> = TupleFromRequest9<A, B, C, D, E, F, G, H, I></h4></section><section id="method.from_request-10" class="method trait-impl"><a class="src rightside" href="../src/actix_web/extract.rs.html#415">source</a><a href="#method.from_request-10" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.from_request" class="fn">from_request</a>(req: &<a class="struct" href="struct.HttpRequest.html" title="struct actix_web::HttpRequest">HttpRequest</a>, payload: &mut <a class="enum" href="dev/enum.Payload.html" title="enum actix_web::dev::Payload">Payload</a>) -> Self::<a class="associatedtype" href="trait.FromRequest.html#associatedtype.Future" title="type actix_web::FromRequest::Future">Future</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-FromRequest-for-(A,+B,+C,+D,+E,+F,+G,+H,+I,+J)" class="impl"><a class="src rightside" href="../src/actix_web/extract.rs.html#416">source</a><a href="#impl-FromRequest-for-(A,+B,+C,+D,+E,+F,+G,+H,+I,+J)" class="anchor">§</a><h3 class="code-header">impl<A: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, B: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, C: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, D: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, E: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, F: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, G: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, H: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, I: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, J: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static> <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> for <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(A, B, C, D, E, F, G, H, I, J)</a></h3></section></summary><div class="docblock"><p>FromRequest implementation for tuple</p>
|
|||
|
</div><div class="impl-items"><section id="associatedtype.Error-12" class="associatedtype trait-impl"><a href="#associatedtype.Error-12" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = <a class="struct" href="error/struct.Error.html" title="struct actix_web::error::Error">Error</a></h4></section><section id="associatedtype.Future-12" class="associatedtype trait-impl"><a href="#associatedtype.Future-12" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Future" class="associatedtype">Future</a> = TupleFromRequest10<A, B, C, D, E, F, G, H, I, J></h4></section><section id="method.from_request-11" class="method trait-impl"><a class="src rightside" href="../src/actix_web/extract.rs.html#416">source</a><a href="#method.from_request-11" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.from_request" class="fn">from_request</a>(req: &<a class="struct" href="struct.HttpRequest.html" title="struct actix_web::HttpRequest">HttpRequest</a>, payload: &mut <a class="enum" href="dev/enum.Payload.html" title="enum actix_web::dev::Payload">Payload</a>) -> Self::<a class="associatedtype" href="trait.FromRequest.html#associatedtype.Future" title="type actix_web::FromRequest::Future">Future</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-FromRequest-for-(A,+B,+C,+D,+E,+F,+G,+H,+I,+J,+K)" class="impl"><a class="src rightside" href="../src/actix_web/extract.rs.html#417">source</a><a href="#impl-FromRequest-for-(A,+B,+C,+D,+E,+F,+G,+H,+I,+J,+K)" class="anchor">§</a><h3 class="code-header">impl<A: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, B: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, C: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, D: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, E: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, F: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, G: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, H: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, I: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, J: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, K: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static> <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> for <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(A, B, C, D, E, F, G, H, I, J, K)</a></h3></section></summary><div class="docblock"><p>FromRequest implementation for tuple</p>
|
|||
|
</div><div class="impl-items"><section id="associatedtype.Error-13" class="associatedtype trait-impl"><a href="#associatedtype.Error-13" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = <a class="struct" href="error/struct.Error.html" title="struct actix_web::error::Error">Error</a></h4></section><section id="associatedtype.Future-13" class="associatedtype trait-impl"><a href="#associatedtype.Future-13" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Future" class="associatedtype">Future</a> = TupleFromRequest11<A, B, C, D, E, F, G, H, I, J, K></h4></section><section id="method.from_request-12" class="method trait-impl"><a class="src rightside" href="../src/actix_web/extract.rs.html#417">source</a><a href="#method.from_request-12" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.from_request" class="fn">from_request</a>(req: &<a class="struct" href="struct.HttpRequest.html" title="struct actix_web::HttpRequest">HttpRequest</a>, payload: &mut <a class="enum" href="dev/enum.Payload.html" title="enum actix_web::dev::Payload">Payload</a>) -> Self::<a class="associatedtype" href="trait.FromRequest.html#associatedtype.Future" title="type actix_web::FromRequest::Future">Future</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-FromRequest-for-(A,+B,+C,+D,+E,+F,+G,+H,+I,+J,+K,+L)" class="impl"><a class="src rightside" href="../src/actix_web/extract.rs.html#418">source</a><a href="#impl-FromRequest-for-(A,+B,+C,+D,+E,+F,+G,+H,+I,+J,+K,+L)" class="anchor">§</a><h3 class="code-header">impl<A: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, B: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, C: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, D: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, E: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, F: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, G: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, H: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, I: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, J: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, K: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, L: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static> <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> for <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(A, B, C, D, E, F, G, H, I, J, K, L)</a></h3></section></summary><div class="docblock"><p>FromRequest implementation for tuple</p>
|
|||
|
</div><div class="impl-items"><section id="associatedtype.Error-14" class="associatedtype trait-impl"><a href="#associatedtype.Error-14" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = <a class="struct" href="error/struct.Error.html" title="struct actix_web::error::Error">Error</a></h4></section><section id="associatedtype.Future-14" class="associatedtype trait-impl"><a href="#associatedtype.Future-14" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Future" class="associatedtype">Future</a> = TupleFromRequest12<A, B, C, D, E, F, G, H, I, J, K, L></h4></section><section id="method.from_request-13" class="method trait-impl"><a class="src rightside" href="../src/actix_web/extract.rs.html#418">source</a><a href="#method.from_request-13" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.from_request" class="fn">from_request</a>(req: &<a class="struct" href="struct.HttpRequest.html" title="struct actix_web::HttpRequest">HttpRequest</a>, payload: &mut <a class="enum" href="dev/enum.Payload.html" title="enum actix_web::dev::Payload">Payload</a>) -> Self::<a class="associatedtype" href="trait.FromRequest.html#associatedtype.Future" title="type actix_web::FromRequest::Future">Future</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-FromRequest-for-(A,+B,+C,+D,+E,+F,+G,+H,+I,+J,+K,+L,+M)" class="impl"><a class="src rightside" href="../src/actix_web/extract.rs.html#419">source</a><a href="#impl-FromRequest-for-(A,+B,+C,+D,+E,+F,+G,+H,+I,+J,+K,+L,+M)" class="anchor">§</a><h3 class="code-header">impl<A: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, B: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, C: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, D: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, E: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, F: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, G: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, H: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, I: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, J: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, K: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, L: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, M: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static> <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> for <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(A, B, C, D, E, F, G, H, I, J, K, L, M)</a></h3></section></summary><div class="docblock"><p>FromRequest implementation for tuple</p>
|
|||
|
</div><div class="impl-items"><section id="associatedtype.Error-15" class="associatedtype trait-impl"><a href="#associatedtype.Error-15" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = <a class="struct" href="error/struct.Error.html" title="struct actix_web::error::Error">Error</a></h4></section><section id="associatedtype.Future-15" class="associatedtype trait-impl"><a href="#associatedtype.Future-15" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Future" class="associatedtype">Future</a> = TupleFromRequest13<A, B, C, D, E, F, G, H, I, J, K, L, M></h4></section><section id="method.from_request-14" class="method trait-impl"><a class="src rightside" href="../src/actix_web/extract.rs.html#419">source</a><a href="#method.from_request-14" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.from_request" class="fn">from_request</a>(req: &<a class="struct" href="struct.HttpRequest.html" title="struct actix_web::HttpRequest">HttpRequest</a>, payload: &mut <a class="enum" href="dev/enum.Payload.html" title="enum actix_web::dev::Payload">Payload</a>) -> Self::<a class="associatedtype" href="trait.FromRequest.html#associatedtype.Future" title="type actix_web::FromRequest::Future">Future</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-FromRequest-for-(A,+B,+C,+D,+E,+F,+G,+H,+I,+J,+K,+L,+M,+N)" class="impl"><a class="src rightside" href="../src/actix_web/extract.rs.html#420">source</a><a href="#impl-FromRequest-for-(A,+B,+C,+D,+E,+F,+G,+H,+I,+J,+K,+L,+M,+N)" class="anchor">§</a><h3 class="code-header">impl<A: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, B: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, C: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, D: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, E: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, F: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, G: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, H: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, I: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, J: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, K: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, L: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, M: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, N: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static> <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> for <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(A, B, C, D, E, F, G, H, I, J, K, L, M, N)</a></h3></section></summary><div class="docblock"><p>FromRequest implementation for tuple</p>
|
|||
|
</div><div class="impl-items"><section id="associatedtype.Error-16" class="associatedtype trait-impl"><a href="#associatedtype.Error-16" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = <a class="struct" href="error/struct.Error.html" title="struct actix_web::error::Error">Error</a></h4></section><section id="associatedtype.Future-16" class="associatedtype trait-impl"><a href="#associatedtype.Future-16" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Future" class="associatedtype">Future</a> = TupleFromRequest14<A, B, C, D, E, F, G, H, I, J, K, L, M, N></h4></section><section id="method.from_request-15" class="method trait-impl"><a class="src rightside" href="../src/actix_web/extract.rs.html#420">source</a><a href="#method.from_request-15" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.from_request" class="fn">from_request</a>(req: &<a class="struct" href="struct.HttpRequest.html" title="struct actix_web::HttpRequest">HttpRequest</a>, payload: &mut <a class="enum" href="dev/enum.Payload.html" title="enum actix_web::dev::Payload">Payload</a>) -> Self::<a class="associatedtype" href="trait.FromRequest.html#associatedtype.Future" title="type actix_web::FromRequest::Future">Future</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-FromRequest-for-(A,+B,+C,+D,+E,+F,+G,+H,+I,+J,+K,+L,+M,+N,+O)" class="impl"><a class="src rightside" href="../src/actix_web/extract.rs.html#421">source</a><a href="#impl-FromRequest-for-(A,+B,+C,+D,+E,+F,+G,+H,+I,+J,+K,+L,+M,+N,+O)" class="anchor">§</a><h3 class="code-header">impl<A: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, B: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, C: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, D: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, E: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, F: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, G: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, H: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, I: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, J: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, K: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, L: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, M: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, N: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, O: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static> <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> for <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O)</a></h3></section></summary><div class="docblock"><p>FromRequest implementation for tuple</p>
|
|||
|
</div><div class="impl-items"><section id="associatedtype.Error-17" class="associatedtype trait-impl"><a href="#associatedtype.Error-17" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = <a class="struct" href="error/struct.Error.html" title="struct actix_web::error::Error">Error</a></h4></section><section id="associatedtype.Future-17" class="associatedtype trait-impl"><a href="#associatedtype.Future-17" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Future" class="associatedtype">Future</a> = TupleFromRequest15<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O></h4></section><section id="method.from_request-16" class="method trait-impl"><a class="src rightside" href="../src/actix_web/extract.rs.html#421">source</a><a href="#method.from_request-16" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.from_request" class="fn">from_request</a>(req: &<a class="struct" href="struct.HttpRequest.html" title="struct actix_web::HttpRequest">HttpRequest</a>, payload: &mut <a class="enum" href="dev/enum.Payload.html" title="enum actix_web::dev::Payload">Payload</a>) -> Self::<a class="associatedtype" href="trait.FromRequest.html#associatedtype.Future" title="type actix_web::FromRequest::Future">Future</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-FromRequest-for-(A,+B,+C,+D,+E,+F,+G,+H,+I,+J,+K,+L,+M,+N,+O,+P)" class="impl"><a class="src rightside" href="../src/actix_web/extract.rs.html#422">source</a><a href="#impl-FromRequest-for-(A,+B,+C,+D,+E,+F,+G,+H,+I,+J,+K,+L,+M,+N,+O,+P)" class="anchor">§</a><h3 class="code-header">impl<A: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, B: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, C: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, D: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, E: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, F: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, G: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, H: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, I: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, J: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, K: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, L: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, M: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, N: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, O: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static, P: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static> <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> for <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.tuple.html">(A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P)</a></h3></section></summary><div class="docblock"><p>FromRequest implementation for tuple</p>
|
|||
|
</div><div class="impl-items"><section id="associatedtype.Error-18" class="associatedtype trait-impl"><a href="#associatedtype.Error-18" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = <a class="struct" href="error/struct.Error.html" title="struct actix_web::error::Error">Error</a></h4></section><section id="associatedtype.Future-18" class="associatedtype trait-impl"><a href="#associatedtype.Future-18" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Future" class="associatedtype">Future</a> = TupleFromRequest16<A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P></h4></section><section id="method.from_request-17" class="method trait-impl"><a class="src rightside" href="../src/actix_web/extract.rs.html#422">source</a><a href="#method.from_request-17" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.from_request" class="fn">from_request</a>(req: &<a class="struct" href="struct.HttpRequest.html" title="struct actix_web::HttpRequest">HttpRequest</a>, payload: &mut <a class="enum" href="dev/enum.Payload.html" title="enum actix_web::dev::Payload">Payload</a>) -> Self::<a class="associatedtype" href="trait.FromRequest.html#associatedtype.Future" title="type actix_web::FromRequest::Future">Future</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-FromRequest-for-Option%3CT%3E" class="impl"><a class="src rightside" href="../src/actix_web/extract.rs.html#144-157">source</a><a href="#impl-FromRequest-for-Option%3CT%3E" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> for <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a><T><div class="where">where
|
|||
|
T: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a>,</div></h3></section></summary><div class="docblock"><p>Optionally extract from the request.</p>
|
|||
|
<p>If the inner <code>T::from_request</code> returns an error, handler will receive <code>None</code> instead.</p>
|
|||
|
<h4 id="examples-1"><a class="doc-anchor" href="#examples-1">§</a>Examples</h4>
|
|||
|
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>actix_web::{web, dev, App, Error, HttpRequest, FromRequest};
|
|||
|
<span class="kw">use </span>actix_web::error::ErrorBadRequest;
|
|||
|
<span class="kw">use </span>futures_util::future::{ok, err, Ready};
|
|||
|
<span class="kw">use </span>serde::Deserialize;
|
|||
|
<span class="kw">use </span>rand;
|
|||
|
|
|||
|
<span class="attr">#[derive(Debug, Deserialize)]
|
|||
|
</span><span class="kw">struct </span>Thing {
|
|||
|
name: String
|
|||
|
}
|
|||
|
|
|||
|
<span class="kw">impl </span>FromRequest <span class="kw">for </span>Thing {
|
|||
|
<span class="kw">type </span>Error = Error;
|
|||
|
<span class="kw">type </span>Future = Ready<<span class="prelude-ty">Result</span><<span class="self">Self</span>, <span class="self">Self</span>::Error>>;
|
|||
|
|
|||
|
<span class="kw">fn </span>from_request(req: <span class="kw-2">&</span>HttpRequest, payload: <span class="kw-2">&mut </span>dev::Payload) -> <span class="self">Self</span>::Future {
|
|||
|
<span class="kw">if </span>rand::random() {
|
|||
|
ok(Thing { name: <span class="string">"thingy"</span>.into() })
|
|||
|
} <span class="kw">else </span>{
|
|||
|
err(ErrorBadRequest(<span class="string">"no luck"</span>))
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
<span class="doccomment">/// extract `Thing` from request
|
|||
|
</span><span class="kw">async fn </span>index(supplied_thing: <span class="prelude-ty">Option</span><Thing>) -> String {
|
|||
|
<span class="kw">match </span>supplied_thing {
|
|||
|
<span class="comment">// Puns not intended
|
|||
|
</span><span class="prelude-val">Some</span>(thing) => <span class="macro">format!</span>(<span class="string">"Got something: {:?}"</span>, thing),
|
|||
|
<span class="prelude-val">None </span>=> <span class="macro">format!</span>(<span class="string">"No thing!"</span>)
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
<span class="kw">let </span>app = App::new().service(
|
|||
|
web::resource(<span class="string">"/users/:first"</span>).route(
|
|||
|
web::post().to(index))
|
|||
|
);</code></pre></div>
|
|||
|
</div><div class="impl-items"><section id="associatedtype.Error-19" class="associatedtype trait-impl"><a href="#associatedtype.Error-19" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section><section id="associatedtype.Future-19" class="associatedtype trait-impl"><a href="#associatedtype.Future-19" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Future" class="associatedtype">Future</a> = FromRequestOptFuture<<T as <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a>>::<a class="associatedtype" href="trait.FromRequest.html#associatedtype.Future" title="type actix_web::FromRequest::Future">Future</a>></h4></section><section id="method.from_request-18" class="method trait-impl"><a class="src rightside" href="../src/actix_web/extract.rs.html#152-156">source</a><a href="#method.from_request-18" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.from_request" class="fn">from_request</a>(req: &<a class="struct" href="struct.HttpRequest.html" title="struct actix_web::HttpRequest">HttpRequest</a>, payload: &mut <a class="enum" href="dev/enum.Payload.html" title="enum actix_web::dev::Payload">Payload</a>) -> Self::<a class="associatedtype" href="trait.FromRequest.html#associatedtype.Future" title="type actix_web::FromRequest::Future">Future</a></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-FromRequest-for-Result%3CT,+E%3E" class="impl"><a class="src rightside" href="../src/actix_web/extract.rs.html#229-244">source</a><a href="#impl-FromRequest-for-Result%3CT,+E%3E" class="anchor">§</a><h3 class="code-header">impl<T, E> <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> for <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><T, E><div class="where">where
|
|||
|
T: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a>,
|
|||
|
T::<a class="associatedtype" href="trait.FromRequest.html#associatedtype.Error" title="type actix_web::FromRequest::Error">Error</a>: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a><E>,</div></h3></section></summary><div class="docblock"><p>Extract from the request, passing error type through to handler.</p>
|
|||
|
<p>If the inner <code>T::from_request</code> returns an error, allow handler to receive the error rather than
|
|||
|
immediately returning an error response.</p>
|
|||
|
<h4 id="examples-2"><a class="doc-anchor" href="#examples-2">§</a>Examples</h4>
|
|||
|
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>actix_web::{web, dev, App, <span class="prelude-ty">Result</span>, Error, HttpRequest, FromRequest};
|
|||
|
<span class="kw">use </span>actix_web::error::ErrorBadRequest;
|
|||
|
<span class="kw">use </span>futures_util::future::{ok, err, Ready};
|
|||
|
<span class="kw">use </span>serde::Deserialize;
|
|||
|
<span class="kw">use </span>rand;
|
|||
|
|
|||
|
<span class="attr">#[derive(Debug, Deserialize)]
|
|||
|
</span><span class="kw">struct </span>Thing {
|
|||
|
name: String
|
|||
|
}
|
|||
|
|
|||
|
<span class="kw">impl </span>FromRequest <span class="kw">for </span>Thing {
|
|||
|
<span class="kw">type </span>Error = Error;
|
|||
|
<span class="kw">type </span>Future = Ready<<span class="prelude-ty">Result</span><Thing, Error>>;
|
|||
|
|
|||
|
<span class="kw">fn </span>from_request(req: <span class="kw-2">&</span>HttpRequest, payload: <span class="kw-2">&mut </span>dev::Payload) -> <span class="self">Self</span>::Future {
|
|||
|
<span class="kw">if </span>rand::random() {
|
|||
|
ok(Thing { name: <span class="string">"thingy"</span>.into() })
|
|||
|
} <span class="kw">else </span>{
|
|||
|
err(ErrorBadRequest(<span class="string">"no luck"</span>))
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
<span class="doccomment">/// extract `Thing` from request
|
|||
|
</span><span class="kw">async fn </span>index(supplied_thing: <span class="prelude-ty">Result</span><Thing>) -> String {
|
|||
|
<span class="kw">match </span>supplied_thing {
|
|||
|
<span class="prelude-val">Ok</span>(thing) => <span class="macro">format!</span>(<span class="string">"Got thing: {thing:?}"</span>),
|
|||
|
<span class="prelude-val">Err</span>(err) => <span class="macro">format!</span>(<span class="string">"Error extracting thing: {err}"</span>),
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
<span class="kw">let </span>app = App::new().service(
|
|||
|
web::resource(<span class="string">"/users/:first"</span>).route(web::post().to(index))
|
|||
|
);</code></pre></div>
|
|||
|
</div><div class="impl-items"><section id="associatedtype.Error-20" class="associatedtype trait-impl"><a href="#associatedtype.Error-20" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section><section id="associatedtype.Future-20" class="associatedtype trait-impl"><a href="#associatedtype.Future-20" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Future" class="associatedtype">Future</a> = FromRequestResFuture<<T as <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a>>::<a class="associatedtype" href="trait.FromRequest.html#associatedtype.Future" title="type actix_web::FromRequest::Future">Future</a>, E></h4></section><section id="method.from_request-19" class="method trait-impl"><a class="src rightside" href="../src/actix_web/extract.rs.html#238-243">source</a><a href="#method.from_request-19" class="anchor">§</a><h4 class="code-header">fn <a href="#tymethod.from_request" class="fn">from_request</a>(req: &<a class="struct" href="struct.HttpRequest.html" title="struct actix_web::HttpRequest">HttpRequest</a>, payload: &mut <a class="enum" href="dev/enum.Payload.html" title="enum actix_web::dev::Payload">Payload</a>) -> Self::<a class="associatedtype" href="trait.FromRequest.html#associatedtype.Future" title="type actix_web::FromRequest::Future">Future</a></h4></section></div></details><h2 id="implementors" class="section-header">Implementors<a href="#implementors" class="anchor">§</a></h2><div id="implementors-list"><details class="toggle implementors-toggle"><summary><section id="impl-FromRequest-for-ConnectionInfo" class="impl"><a class="src rightside" href="../src/actix_web/info.rs.html#199-206">source</a><a href="#impl-FromRequest-for-ConnectionInfo" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> for <a class="struct" href="dev/struct.ConnectionInfo.html" title="struct actix_web::dev::ConnectionInfo">ConnectionInfo</a></h3></section></summary><div class="impl-items"><section id="associatedtype.Error-21" class="associatedtype trait-impl"><a href="#associatedtype.Error-21" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section><section id="associatedtype.Future-21" class="associatedtype trait-impl"><a href="#associatedtype.Future-21" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Future" class="associatedtype">Future</a> = Ready<<a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="dev/struct.ConnectionInfo.html" title="struct actix_web::dev::ConnectionInfo">ConnectionInfo</a>, <<a class="struct" href="dev/struct.ConnectionInfo.html" title="struct actix_web::dev::ConnectionInfo">ConnectionInfo</a> as <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a>>::<a class="associatedtype" href="trait.FromRequest.html#associatedtype.Error" title="type actix_web::FromRequest::Error">Error</a>>></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-FromRequest-for-PeerAddr" class="impl"><a class="src rightside" href="../src/actix_web/info.rs.html#241-254">source</a><a href="#impl-FromRequest-for-PeerAddr" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> for <a class="struct" href="dev/struct.PeerAddr.html" title="struct actix_web::dev::PeerAddr">PeerAddr</a></h3><
|
|||
|
<h4 id="examples-3"><a class="doc-anchor" href="#examples-3">§</a>Examples</h4>
|
|||
|
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>actix_web::{http::Method, web, App, Responder};
|
|||
|
|
|||
|
<span class="kw">async fn </span>handler(method: Method) -> <span class="kw">impl </span>Responder {
|
|||
|
<span class="macro">format!</span>(<span class="string">"Request method: {}"</span>, method)
|
|||
|
}
|
|||
|
|
|||
|
<span class="kw">let </span>app = App::new().default_service(web::to(handler));</code></pre></div>
|
|||
|
</div><div class="impl-items"><section id="associatedtype.Error-23" class="associatedtype trait-impl"><a href="#associatedtype.Error-23" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section><section id="associatedtype.Future-23" class="associatedtype trait-impl"><a href="#associatedtype.Future-23" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Future" class="associatedtype">Future</a> = Ready<<a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="http/struct.Method.html" title="struct actix_web::http::Method">Method</a>, <<a class="struct" href="http/struct.Method.html" title="struct actix_web::http::Method">Method</a> as <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a>>::<a class="associatedtype" href="trait.FromRequest.html#associatedtype.Error" title="type actix_web::FromRequest::Error">Error</a>>></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-FromRequest-for-Uri" class="impl"><a class="src rightside" href="../src/actix_web/extract.rs.html#280-287">source</a><a href="#impl-FromRequest-for-Uri" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> for <a class="struct" href="http/struct.Uri.html" title="struct actix_web::http::Uri">Uri</a></h3></section></summary><div class="docblock"><p>Extract the request’s URI.</p>
|
|||
|
<h4 id="examples-4"><a class="doc-anchor" href="#examples-4">§</a>Examples</h4>
|
|||
|
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>actix_web::{http::Uri, web, App, Responder};
|
|||
|
|
|||
|
<span class="kw">async fn </span>handler(uri: Uri) -> <span class="kw">impl </span>Responder {
|
|||
|
<span class="macro">format!</span>(<span class="string">"Requested path: {}"</span>, uri.path())
|
|||
|
}
|
|||
|
|
|||
|
<span class="kw">let </span>app = App::new().default_service(web::to(handler));</code></pre></div>
|
|||
|
</div><div class="impl-items"><section id="associatedtype.Error-24" class="associatedtype trait-impl"><a href="#associatedtype.Error-24" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></h4></section><section id="associatedtype.Future-24" class="associatedtype trait-impl"><a href="#associatedtype.Future-24" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Future" class="associatedtype">Future</a> = Ready<<a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="http/struct.Uri.html" title="struct actix_web::http::Uri">Uri</a>, <<a class="struct" href="http/struct.Uri.html" title="struct actix_web::http::Uri">Uri</a> as <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a>>::<a class="associatedtype" href="trait.FromRequest.html#associatedtype.Error" title="type actix_web::FromRequest::Error">Error</a>>></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-FromRequest-for-HttpRequest" class="impl"><a class="src rightside" href="../src/actix_web/request.rs.html#419-427">source</a><a href="#impl-FromRequest-for-HttpRequest" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> for <a class="struct" href="struct.HttpRequest.html" title="struct actix_web::HttpRequest">HttpRequest</a></h3></section></summary><div class="docblock"><p>It is possible to get <code>HttpRequest</code> as an extractor handler parameter</p>
|
|||
|
<h4 id="examples-5"><a class="doc-anchor" href="#examples-5">§</a>Examples</h4>
|
|||
|
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>actix_web::{web, App, HttpRequest};
|
|||
|
<span class="kw">use </span>serde::Deserialize;
|
|||
|
|
|||
|
<span class="doccomment">/// extract `Thing` from request
|
|||
|
</span><span class="kw">async fn </span>index(req: HttpRequest) -> String {
|
|||
|
<span class="macro">format!</span>(<span class="string">"Got thing: {:?}"</span>, req)
|
|||
|
}
|
|||
|
|
|||
|
<span class="kw">let </span>app = App::new().service(
|
|||
|
web::resource(<span class="string">"/users/{first}"</span>).route(
|
|||
|
web::get().to(index))
|
|||
|
);</code></pre></div>
|
|||
|
</div><div class="impl-items"><section id="associatedtype.Error-25" class="associatedtype trait-impl"><a href="#associatedtype.Error-25" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = <a class="struct" href="error/struct.Error.html" title="struct actix_web::error::Error">Error</a></h4></section><section id="associatedtype.Future-25" class="associatedtype trait-impl"><a href="#associatedtype.Future-25" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Future" class="associatedtype">Future</a> = Ready<<a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="struct.HttpRequest.html" title="struct actix_web::HttpRequest">HttpRequest</a>, <a class="struct" href="error/struct.Error.html" title="struct actix_web::error::Error">Error</a>>></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-FromRequest-for-Bytes" class="impl"><a class="src rightside" href="../src/actix_web/types/payload.rs.html#158-175">source</a><a href="#impl-FromRequest-for-Bytes" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> for <a class="struct" href="web/struct.Bytes.html" title="struct actix_web::web::Bytes">Bytes</a></h3></section></summary><div class="docblock"><p>Extract binary data from a request’s payload.</p>
|
|||
|
<p>Collects request payload stream into a <a href="web/struct.Bytes.html" title="struct actix_web::web::Bytes">Bytes</a> instance.</p>
|
|||
|
<p>Use <a href="web/struct.PayloadConfig.html" title="struct actix_web::web::PayloadConfig"><code>PayloadConfig</code></a> to configure extraction process.</p>
|
|||
|
<h4 id="examples-6"><a class="doc-anchor" href="#examples-6">§</a>Examples</h4>
|
|||
|
<div class="example-wrap"><pre class="rust rust-example-rendered"><code><span class="kw">use </span>actix_web::{post, web};
|
|||
|
|
|||
|
<span class="doccomment">/// extract binary data from request
|
|||
|
</span><span class="attr">#[post(<span class="string">"/"</span>)]
|
|||
|
</span><span class="kw">async fn </span>index(body: web::Bytes) -> String {
|
|||
|
<span class="macro">format!</span>(<span class="string">"Body {:?}!"</span>, body)
|
|||
|
}</code></pre></div>
|
|||
|
</div><div class="impl-items"><section id="associatedtype.Error-26" class="associatedtype trait-impl"><a href="#associatedtype.Error-26" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = <a class="struct" href="error/struct.Error.html" title="struct actix_web::error::Error">Error</a></h4></section><section id="associatedtype.Future-26" class="associatedtype trait-impl"><a href="#associatedtype.Future-26" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Future" class="associatedtype">Future</a> = Either<BytesExtractFut, Ready<<a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="web/struct.Bytes.html" title="struct actix_web::web::Bytes">Bytes</a>, <a class="struct" href="error/struct.Error.html" title="struct actix_web::error::Error">Error</a>>>></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-FromRequest-for-Payload" class="impl"><a class="src rightside" href="../src/actix_web/types/payload.rs.html#132-140">source</a><a href="#impl-FromRequest-for-Payload" class="anchor">§</a><h3 class="code-header">impl <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> for <a class="struct" href="web/struct.Payload.html" title="struct actix_web::web::Payload">Payload</a></h3></section></summary><div class="docblock"><p>See <a href="#Examples">here</a> for example of usage as an extractor.</p>
|
|||
|
</div><div class="impl-items"><section id="associatedtype.Error-27" class="associatedtype trait-impl"><a href="#associatedtype.Error-27" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = <a class="struct" href="error/struct.Error.html" title="struct actix_web::error::Error">Error</a></h4></section><section id="associatedtype.Future-27" class="associatedtype trait-impl"><a href="#associatedtype.Future-27" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Future" class="associatedtype">Future</a> = Ready<<a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="web/struct.Payload.html" title="struct actix_web::web::Payload">Payload</a>, <<a class="struct" href="web/struct.Payload.html" title="struct actix_web::web::Payload">Payload</a> as <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a>>::<a class="associatedtype" href="trait.FromRequest.html#associatedtype.Error" title="type actix_web::FromRequest::Error">Error</a>>></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-FromRequest-for-Either%3CL,+R%3E" class="impl"><a class="src rightside" href="../src/actix_web/types/either.rs.html#167-183">source</a><a href="#impl-FromRequest-for-Either%3CL,+R%3E" class="anchor">§</a><h3 class="code-header">impl<L, R> <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> for <a class="enum" href="web/enum.Either.html" title="enum actix_web::web::Either">Either</a><L, R><div class="where">where
|
|||
|
L: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static,
|
|||
|
R: <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> + 'static,</div></h3></section></summary><div class="docblock"><p>See <a href="#extractor">here</a> for example of usage as an extractor.</p>
|
|||
|
</div><div class="impl-items"><section id="associatedtype.Error-28" class="associatedtype trait-impl"><a href="#associatedtype.Error-28" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = EitherExtractError<<L as <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a>>::<a class="associatedtype" href="trait.FromRequest.html#associatedtype.Error" title="type actix_web::FromRequest::Error">Error</a>, <R as <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a>>::<a class="associatedtype" href="trait.FromRequest.html#associatedtype.Error" title="type actix_web::FromRequest::Error">Error</a>></h4></section><section id="associatedtype.Future-28" class="associatedtype trait-impl"><a href="#associatedtype.Future-28" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Future" class="associatedtype">Future</a> = EitherExtractFut<L, R></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-FromRequest-for-Form%3CT%3E" class="impl"><a class="src rightside" href="../src/actix_web/types/form.rs.html#124-141">source</a><a href="#impl-FromRequest-for-Form%3CT%3E" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> for <a class="struct" href="web/struct.Form.html" title="struct actix_web::web::Form">Form</a><T><div class="where">where
|
|||
|
T: <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.DeserializeOwned.html" title="trait serde::de::DeserializeOwned">DeserializeOwned</a> + 'static,</div></h3></section></summary><div class="docblock"><p>See <a href="#extractor">here</a> for example of usage as an extractor.</p>
|
|||
|
</div><div class="impl-items"><section id="associatedtype.Error-29" class="associatedtype trait-impl"><a href="#associatedtype.Error-29" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = <a class="struct" href="error/struct.Error.html" title="struct actix_web::error::Error">Error</a></h4></section><section id="associatedtype.Future-29" class="associatedtype trait-impl"><a href="#associatedtype.Future-29" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Future" class="associatedtype">Future</a> = FormExtractFut<T></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-FromRequest-for-Header%3CT%3E" class="impl"><a class="src rightside" href="../src/actix_web/types/header.rs.html#59-73">source</a><a href="#impl-FromRequest-for-Header%3CT%3E" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> for <a class="struct" href="web/struct.Header.html" title="struct actix_web::web::Header">Header</a><T><div class="where">where
|
|||
|
T: <a class="trait" href="http/header/trait.Header.html" title="trait actix_web::http::header::Header">ParseHeader</a>,</div></h3></section></summary><div class="impl-items"><section id="associatedtype.Error-30" class="associatedtype trait-impl"><a href="#associatedtype.Error-30" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = <a class="enum" href="error/enum.ParseError.html" title="enum actix_web::error::ParseError">ParseError</a></h4></section><section id="associatedtype.Future-30" class="associatedtype trait-impl"><a href="#associatedtype.Future-30" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Future" class="associatedtype">Future</a> = Ready<<a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="web/struct.Header.html" title="struct actix_web::web::Header">Header</a><T>, <<a class="struct" href="web/struct.Header.html" title="struct actix_web::web::Header">Header</a><T> as <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a>>::<a class="associatedtype" href="trait.FromRequest.html#associatedtype.Error" title="type actix_web::FromRequest::Error">Error</a>>></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-FromRequest-for-Path%3CT%3E" class="impl"><a class="src rightside" href="../src/actix_web/types/path.rs.html#67-100">source</a><a href="#impl-FromRequest-for-Path%3CT%3E" class="anchor">§</a><h3 class="code-header">impl<T> <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> for <a class="struct" href="web/struct.Path.html" title="struct actix_web::web::Path">Path</a><T><div class="where">where
|
|||
|
T: <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.DeserializeOwned.html" title="trait serde::de::DeserializeOwned">DeserializeOwned</a>,</div></h3></section></summary><div class="docblock"><p>See <a href="#Examples">here</a> for example of usage as an extractor.</p>
|
|||
|
</div><div class="impl-items"><section id="associatedtype.Error-31" class="associatedtype trait-impl"><a href="#associatedtype.Error-31" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = <a class="struct" href="error/struct.Error.html" title="struct actix_web::error::Error">Error</a></h4></section><section id="associatedtype.Future-31" class="associatedtype trait-impl"><a href="#associatedtype.Future-31" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Future" class="associatedtype">Future</a> = Ready<<a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="web/struct.Path.html" title="struct actix_web::web::Path">Path</a><T>, <<a class="struct" href="web/struct.Path.html" title="struct actix_web::web::Path">Path</a><T> as <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a>>::<a class="associatedtype" href="trait.FromRequest.html#associatedtype.Error" title="type actix_web::FromRequest::Error">Error</a>>></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-FromRequest-for-ReqData%3CT%3E" class="impl"><a class="src rightside" href="../src/actix_web/request_data.rs.html#67-86">source</a><a href="#impl-FromRequest-for-ReqData%3CT%3E" class="anchor">§</a><h3 class="code-header">impl<T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> + 'static> <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> for <a class="struct" href="web/struct.ReqData.html" title="struct actix_web::web::ReqData">ReqData</a><T></h3></section></summary><div class="impl-items"><section id="associatedtype.Error-32" class="associatedtype trait-impl"><a href="#associatedtype.Error-32" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = <a class="struct" href="error/struct.Error.html" title="struct actix_web::error::Error">Error</a></h4></section><section id="associatedtype.Future-32" class="associatedtype trait-impl"><a href="#associatedtype.Future-32" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Future" class="associatedtype">Future</a> = Ready<<a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="web/struct.ReqData.html" title="struct actix_web::web::ReqData">ReqData</a><T>, <a class="struct" href="error/struct.Error.html" title="struct actix_web::error::Error">Error</a>>></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-FromRequest-for-Json%3CT%3E" class="impl"><a class="src rightside" href="../src/actix_web/types/json.rs.html#139-158">source</a><a href="#impl-FromRequest-for-Json%3CT%3E" class="anchor">§</a><h3 class="code-header">impl<T: <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.DeserializeOwned.html" title="trait serde::de::DeserializeOwned">DeserializeOwned</a>> <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> for <a class="struct" href="web/struct.Json.html" title="struct actix_web::web::Json">Json</a><T></h3></section></summary><div class="docblock"><p>See <a href="#extractor">here</a> for example of usage as an extractor.</p>
|
|||
|
</div><div class="impl-items"><section id="associatedtype.Error-33" class="associatedtype trait-impl"><a href="#associatedtype.Error-33" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = <a class="struct" href="error/struct.Error.html" title="struct actix_web::error::Error">Error</a></h4></section><section id="associatedtype.Future-33" class="associatedtype trait-impl"><a href="#associatedtype.Future-33" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Future" class="associatedtype">Future</a> = JsonExtractFut<T></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-FromRequest-for-Query%3CT%3E" class="impl"><a class="src rightside" href="../src/actix_web/types/query.rs.html#109-139">source</a><a href="#impl-FromRequest-for-Query%3CT%3E" class="anchor">§</a><h3 class="code-header">impl<T: <a class="trait" href="https://docs.rs/serde/1.0.203/serde/de/trait.DeserializeOwned.html" title="trait serde::de::DeserializeOwned">DeserializeOwned</a>> <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> for <a class="struct" href="web/struct.Query.html" title="struct actix_web::web::Query">Query</a><T></h3></section></summary><div class="docblock"><p>See <a href="#Examples">here</a> for example of usage as an extractor.</p>
|
|||
|
</div><div class="impl-items"><section id="associatedtype.Error-34" class="associatedtype trait-impl"><a href="#associatedtype.Error-34" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = <a class="struct" href="error/struct.Error.html" title="struct actix_web::error::Error">Error</a></h4></section><section id="associatedtype.Future-34" class="associatedtype trait-impl"><a href="#associatedtype.Future-34" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Future" class="associatedtype">Future</a> = Ready<<a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="web/struct.Query.html" title="struct actix_web::web::Query">Query</a><T>, <a class="struct" href="error/struct.Error.html" title="struct actix_web::error::Error">Error</a>>></h4></section></div></details><details class="toggle implementors-toggle"><summary><section id="impl-FromRequest-for-Data%3CT%3E" class="impl"><a class="src rightside" href="../src/actix_web/data.rs.html#160-183">source</a><a href="#impl-FromRequest-for-Data%3CT%3E" class="anchor">§</a><h3 class="code-header">impl<T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a> + 'static> <a class="trait" href="trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a> for <a class="struct" href="web/struct.Data.html" title="struct actix_web::web::Data">Data</a><T></h3></section></summary><div class="impl-items"><section id="associatedtype.Error-35" class="associatedtype trait-impl"><a href="#associatedtype.Error-35" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Error" class="associatedtype">Error</a> = <a class="struct" href="error/struct.Error.html" title="struct actix_web::error::Error">Error</a></h4></section><section id="associatedtype.Future-35" class="associatedtype trait-impl"><a href="#associatedtype.Future-35" class="anchor">§</a><h4 class="code-header">type <a href="#associatedtype.Future" class="associatedtype">Future</a> = Ready<<a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a><<a class="struct" href="web/struct.Data.html" title="struct actix_web::web::Data">Data</a><T>, <a class="struct" href="error/struct.Error.html" title="struct actix_web::error::Error">Error</a>>></h4></section></div></details></div><script src="../trait.impl/actix_web/extract/trait.FromRequest.js" data-ignore-extern-crates="http,core,alloc,bytes,std" async></script></section></div></main></body></html>
|