1
0
mirror of https://github.com/actix/actix-website synced 2025-06-30 08:44:27 +02:00

Add api docs

This commit is contained in:
Nikolay Kim
2018-07-21 04:09:47 -07:00
parent 35a9469409
commit 52a58cc626
5528 changed files with 266014 additions and 0 deletions

View File

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=struct.CookieSession.html">
</head>
<body>
<p>Redirecting to <a href="struct.CookieSession.html">struct.CookieSession.html</a>...</p>
<script>location.replace("struct.CookieSession.html" + location.search + location.hash);</script>
</body>
</html>

View File

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=struct.CookieSessionBackend.html">
</head>
<body>
<p>Redirecting to <a href="struct.CookieSessionBackend.html">struct.CookieSessionBackend.html</a>...</p>
<script>location.replace("struct.CookieSessionBackend.html" + location.search + location.hash);</script>
</body>
</html>

View File

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=enum.CookieSessionError.html">
</head>
<body>
<p>Redirecting to <a href="enum.CookieSessionError.html">enum.CookieSessionError.html</a>...</p>
<script>location.replace("enum.CookieSessionError.html" + location.search + location.hash);</script>
</body>
</html>

View File

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=trait.RequestSession.html">
</head>
<body>
<p>Redirecting to <a href="trait.RequestSession.html">trait.RequestSession.html</a>...</p>
<script>location.replace("trait.RequestSession.html" + location.search + location.hash);</script>
</body>
</html>

View File

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=struct.Session.html">
</head>
<body>
<p>Redirecting to <a href="struct.Session.html">struct.Session.html</a>...</p>
<script>location.replace("struct.Session.html" + location.search + location.hash);</script>
</body>
</html>

View File

@ -0,0 +1,10 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="refresh" content="0;URL=struct.SessionStorage.html">
</head>
<body>
<p>Redirecting to <a href="struct.SessionStorage.html">struct.SessionStorage.html</a>...</p>
<script>location.replace("struct.SessionStorage.html" + location.search + location.hash);</script>
</body>
</html>

View File

@ -0,0 +1,27 @@
<!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="API documentation for the Rust `CookieSessionError` enum in crate `actix_web`."><meta name="keywords" content="rust, rustlang, rust-lang, CookieSessionError"><title>actix_web::middleware::session::CookieSessionError - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><script src="../../../storage.js"></script></head><body class="rustdoc enum"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">&#9776;</div><p class='location'>Enum CookieSessionError</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#variants">Variants</a><div class="sidebar-links"><a href="#variant.Overflow">Overflow</a><a href="#variant.Serialize">Serialize</a></div><a class="sidebar-title" href="#implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Fail">Fail</a><a href="#impl-Display">Display</a><a href="#impl-Debug">Debug</a><a href="#impl-ResponseError">ResponseError</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a></div></div><p class='location'><a href='../../index.html'>actix_web</a>::<wbr><a href='../index.html'>middleware</a>::<wbr><a href='index.html'>session</a></p><script>window.sidebarCurrent = {name: 'CookieSessionError', ty: 'enum', relpath: ''};</script><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form js-only"><div class="search-container"><input class="search-input" name="search" autocomplete="off" placeholder="Click or press S to search, ? for more options…" type="search"><a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='in-band'>Enum <a href='../../index.html'>actix_web</a>::<wbr><a href='../index.html'>middleware</a>::<wbr><a href='index.html'>session</a>::<wbr><a class="enum" href=''>CookieSessionError</a></span><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>&#x2212;</span>]</a></span><a class='srclink' href='../../../src/actix_web/middleware/session.rs.html#306-313' title='goto source code'>[src]</a></span></h1><div class="docblock type-decl"><pre class='rust enum'>pub enum CookieSessionError {
Overflow,
Serialize(<a class="struct" href="https://docs.rs/serde_json/1.0.24/serde_json/error/struct.Error.html" title="struct serde_json::error::Error">JsonError</a>),
}</pre></div><div class='docblock'><p>Errors that can occur during handling cookie session</p>
</div><h2 id='variants' class='variants small-section-header'>
Variants<a href='#variants' class='anchor'></a></h2>
<span id="variant.Overflow" class="variant small-section-header"><a href="#variant.Overflow" class="anchor field"></a><span id='Overflow.v' class='invisible'><code>Overflow</code></span></span><div class='docblock'><p>Size of the serialized session is greater than 4000 bytes.</p>
</div><span id="variant.Serialize" class="variant small-section-header"><a href="#variant.Serialize" class="anchor field"></a><span id='Serialize.v' class='invisible'><code>Serialize(<a class="struct" href="https://docs.rs/serde_json/1.0.24/serde_json/error/struct.Error.html" title="struct serde_json::error::Error">JsonError</a>)</code></span></span><div class='docblock'><p>Fail to serialize session.</p>
</div>
<h2 id='implementations' class='small-section-header'>
Trait Implementations<a href='#implementations' class='anchor'></a>
</h2>
<div id='implementations-list'><h3 id='impl-Fail' class='impl'><span class='in-band'><table class='table-display'><tbody><tr><td><code>impl Fail for <a class="enum" href="../../../actix_web/middleware/session/enum.CookieSessionError.html" title="enum actix_web::middleware::session::CookieSessionError">CookieSessionError</a></code><a href='#impl-Fail' class='anchor'></a></span></td><td><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../../src/actix_web/middleware/session.rs.html#305' title='goto source code'>[src]</a></span></td></tr></tbody></table></h3><div class='impl-items'><h4 id='method.cause' class="method"><span id='cause.v' class='invisible'><table class='table-display'><tbody><tr><td><code>fn <a href='#method.cause' class='fnname'>cause</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;Fail&gt;</code></span></td><td><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../../src/actix_web/middleware/session.rs.html#305' title='goto source code'>[src]</a></td></tr></tbody></table></span></h4><div class='docblock'><p>Returns a reference to the underlying cause of this failure, if it is an error that wraps other errors. <a href="#method.cause">Read more</a></p>
</div><h4 id='method.backtrace' class="method"><span id='backtrace.v' class='invisible'><table class='table-display'><tbody><tr><td><code>fn <a href='#method.backtrace' class='fnname'>backtrace</a>(&amp;self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;&amp;Backtrace&gt;</code></span></td><td><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../../src/actix_web/middleware/session.rs.html#305' title='goto source code'>[src]</a></td></tr></tbody></table></span></h4><div class='docblock'><p>Returns a reference to the <code>Backtrace</code> carried by this failure, if it carries one. <a href="#method.backtrace">Read more</a></p>
</div><h4 id='method.context' class="method"><span id='context.v' class='invisible'><table class='table-display'><tbody><tr><td><code>fn <a href='#method.context' class='fnname'>context</a>&lt;D&gt;(self, context: D) -&gt; Context&lt;D&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;D: <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> + <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> + 'static,&nbsp;</span></code></td><td></td></tr></tbody></table></span></h4><div class='docblock'><p>Provides context for this failure. <a href="#method.context">Read more</a></p>
</div><h4 id='method.compat' class="method"><span id='compat.v' class='invisible'><table class='table-display'><tbody><tr><td><code>fn <a href='#method.compat' class='fnname'>compat</a>(self) -&gt; Compat&lt;Self&gt;</code></td><td></td></tr></tbody></table></span></h4><div class='docblock'><p>Wraps this failure in a compatibility wrapper that implements <code>std::error::Error</code>. <a href="#method.compat">Read more</a></p>
</div><h4 id='method.causes' class="method"><div class="important-traits"><div class='tooltip'><span class='tooltiptext'>Important traits for Causes&lt;'f&gt;</span></div><div class="content hidden"><h3 class="important">Important traits for Causes&lt;'f&gt;</h3><code class="content"><span class="where fmt-newline">impl&lt;'f&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html" title="trait core::iter::iterator::Iterator">Iterator</a> for Causes&lt;'f&gt;</span><span class="where fmt-newline"> type <a href='https://doc.rust-lang.org/nightly/core/iter/iterator/trait.Iterator.html#associatedtype.Item' class="type">Item</a> = &amp;'f (Fail + 'static);</span></code></div></div><span id='causes.v' class='invisible'><table class='table-display'><tbody><tr><td><code>fn <a href='#method.causes' class='fnname'>causes</a>(&amp;self) -&gt; Causes</code></td><td></td></tr></tbody></table></span></h4><div class='docblock'><p>Returns a iterator over the causes of this <code>Fail</code> with itself as the first item and the <code>root_cause</code> as the final item. <a href="#method.causes">Read more</a></p>
</div><h4 id='method.root_cause' class="method"><span id='root_cause.v' class='invisible'><table class='table-display'><tbody><tr><td><code>fn <a href='#method.root_cause' class='fnname'>root_cause</a>(&amp;self) -&gt; &amp;(Fail + 'static)</code></td><td></td></tr></tbody></table></span></h4><div class='docblock'><p>Returns the &quot;root cause&quot; of this <code>Fail</code> - the last value in the cause chain which does not return an underlying <code>cause</code>. <a href="#method.root_cause">Read more</a></p>
</div></div><h3 id='impl-Display' class='impl'><span class='in-band'><table class='table-display'><tbody><tr><td><code>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html" title="trait core::fmt::Display">Display</a> for <a class="enum" href="../../../actix_web/middleware/session/enum.CookieSessionError.html" title="enum actix_web::middleware::session::CookieSessionError">CookieSessionError</a></code><a href='#impl-Display' class='anchor'></a></span></td><td><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../../src/actix_web/middleware/session.rs.html#305' title='goto source code'>[src]</a></span></td></tr></tbody></table></h3><div class='impl-items'><h4 id='method.fmt' class="method"><span id='fmt.v' class='invisible'><table class='table-display'><tbody><tr><td><code>fn <a href='https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt' class='fnname'>fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code></span></td><td><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../../src/actix_web/middleware/session.rs.html#305' title='goto source code'>[src]</a></td></tr></tbody></table></span></h4><div class='docblock'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Display.html#tymethod.fmt">Read more</a></p>
</div></div><h3 id='impl-Debug' class='impl'><span class='in-band'><table class='table-display'><tbody><tr><td><code>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html" title="trait core::fmt::Debug">Debug</a> for <a class="enum" href="../../../actix_web/middleware/session/enum.CookieSessionError.html" title="enum actix_web::middleware::session::CookieSessionError">CookieSessionError</a></code><a href='#impl-Debug' class='anchor'></a></span></td><td><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../../src/actix_web/middleware/session.rs.html#305' title='goto source code'>[src]</a></span></td></tr></tbody></table></h3><div class='impl-items'><h4 id='method.fmt-1' class="method"><span id='fmt.v-1' class='invisible'><table class='table-display'><tbody><tr><td><code>fn <a href='https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt' class='fnname'>fmt</a>(&amp;self, f: &amp;mut <a class="struct" href="https://doc.rust-lang.org/nightly/core/fmt/struct.Formatter.html" title="struct core::fmt::Formatter">Formatter</a>) -&gt; <a class="type" href="https://doc.rust-lang.org/nightly/core/fmt/type.Result.html" title="type core::fmt::Result">Result</a></code></span></td><td><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../../src/actix_web/middleware/session.rs.html#305' title='goto source code'>[src]</a></td></tr></tbody></table></span></h4><div class='docblock'><p>Formats the value using the given formatter. <a href="https://doc.rust-lang.org/nightly/core/fmt/trait.Debug.html#tymethod.fmt">Read more</a></p>
</div></div><h3 id='impl-ResponseError' class='impl'><span class='in-band'><table class='table-display'><tbody><tr><td><code>impl <a class="trait" href="../../../actix_web/error/trait.ResponseError.html" title="trait actix_web::error::ResponseError">ResponseError</a> for <a class="enum" href="../../../actix_web/middleware/session/enum.CookieSessionError.html" title="enum actix_web::middleware::session::CookieSessionError">CookieSessionError</a></code><a href='#impl-ResponseError' class='anchor'></a></span></td><td><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../../src/actix_web/middleware/session.rs.html#315' title='goto source code'>[src]</a></span></td></tr></tbody></table></h3><div class='impl-items'><h4 id='method.error_response' class="method"><span id='error_response.v' class='invisible'><table class='table-display'><tbody><tr><td><code>fn <a href='../../../actix_web/error/trait.ResponseError.html#method.error_response' class='fnname'>error_response</a>(&amp;self) -&gt; <a class="struct" href="../../../actix_web/struct.HttpResponse.html" title="struct actix_web::HttpResponse">HttpResponse</a></code></span></td><td><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../../src/actix_web/error.rs.html#145-147' title='goto source code'>[src]</a></td></tr></tbody></table></span></h4><div class='docblock'><p>Create response for error <a href="../../../actix_web/error/trait.ResponseError.html#method.error_response">Read more</a></p>
</div></div></div>
<h2 id='synthetic-implementations' class='small-section-header'>
Auto Trait Implementations<a href='#synthetic-implementations' class='anchor'></a>
</h2>
<div id='synthetic-implementations-list'>
<h3 id='impl-Send' class='impl'><span class='in-band'><table class='table-display'><tbody><tr><td><code>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="enum" href="../../../actix_web/middleware/session/enum.CookieSessionError.html" title="enum actix_web::middleware::session::CookieSessionError">CookieSessionError</a></code><a href='#impl-Send' class='anchor'></a></span></td><td><span class='out-of-band'></span></td></tr></tbody></table></h3><div class='impl-items'></div><h3 id='impl-Sync' class='impl'><span class='in-band'><table class='table-display'><tbody><tr><td><code>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="enum" href="../../../actix_web/middleware/session/enum.CookieSessionError.html" title="enum actix_web::middleware::session::CookieSessionError">CookieSessionError</a></code><a href='#impl-Sync' class='anchor'></a></span></td><td><span class='out-of-band'></span></td></tr></tbody></table></h3><div class='impl-items'></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><aside id="help" class="hidden"><div><h1 class="hidden">Help</h1><div class="shortcuts"><h2>Keyboard Shortcuts</h2><dl><dt><kbd>?</kbd></dt><dd>Show this help dialog</dd><dt><kbd>S</kbd></dt><dd>Focus the search field</dd><dt><kbd></kbd></dt><dd>Move up in search results</dd><dt><kbd></kbd></dt><dd>Move down in search results</dd><dt><kbd></kbd></dt><dd>Switch tab</dd><dt><kbd>&#9166;</kbd></dt><dd>Go to active search result</dd><dt><kbd>+</kbd></dt><dd>Expand all sections</dd><dt><kbd>-</kbd></dt><dd>Collapse all sections</dd></dl></div><div class="infos"><h2>Search Tricks</h2><p>Prefix searches with a type followed by a colon (e.g. <code>fn:</code>) to restrict the search to a given type.</p><p>Accepted types are: <code>fn</code>, <code>mod</code>, <code>struct</code>, <code>enum</code>, <code>trait</code>, <code>type</code>, <code>macro</code>, and <code>const</code>.</p><p>Search functions by type signature (e.g. <code>vec -> usize</code> or <code>* -> vec</code>)</p><p>Search multiple things at once by splitting your query with comma (e.g. <code>str,u8</code> or <code>String,struct:Vec,test</code>)</p></div></div></aside><script>window.rootPath = "../../../";window.currentCrate = "actix_web";</script><script src="../../../aliases.js"></script><script src="../../../main.js"></script><script defer src="../../../search-index.js"></script></body></html>

View File

@ -0,0 +1,106 @@
<!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="API documentation for the Rust `session` mod in crate `actix_web`."><meta name="keywords" content="rust, rustlang, rust-lang, session"><title>actix_web::middleware::session - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><script src="../../../storage.js"></script></head><body class="rustdoc mod"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">&#9776;</div><p class='location'>Module session</p><div class="sidebar-elems"><div class="block items"><ul><li><a href="#structs">Structs</a></li><li><a href="#enums">Enums</a></li><li><a href="#traits">Traits</a></li></ul></div><p class='location'><a href='../../index.html'>actix_web</a>::<wbr><a href='../index.html'>middleware</a></p><script>window.sidebarCurrent = {name: 'session', ty: 'mod', relpath: '../'};</script><script defer src="../sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form js-only"><div class="search-container"><input class="search-input" name="search" autocomplete="off" placeholder="Click or press S to search, ? for more options…" type="search"><a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='in-band'>Module <a href='../../index.html'>actix_web</a>::<wbr><a href='../index.html'>middleware</a>::<wbr><a class="mod" href=''>session</a></span><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>&#x2212;</span>]</a></span><a class='srclink' href='../../../src/actix_web/middleware/session.rs.html#1-607' title='goto source code'>[src]</a></span></h1><div class='docblock'><p>User sessions.</p>
<p>Actix provides a general solution for session management. The
<a href="struct.SessionStorage.html"><strong>SessionStorage</strong></a>
middleware can be used with different backend types to store session
data in different backends.</p>
<p>By default, only cookie session backend is implemented. Other
backend implementations can be added.</p>
<p><a href="struct.CookieSessionBackend.html"><strong>CookieSessionBackend</strong></a>
uses cookies as session storage. <code>CookieSessionBackend</code> creates sessions
which are limited to storing fewer than 4000 bytes of data, as the payload
must fit into a single cookie. An internal server error is generated if a
session contains more than 4000 bytes.</p>
<p>A cookie may have a security policy of <em>signed</em> or <em>private</em>. Each has
a respective <code>CookieSessionBackend</code> constructor.</p>
<p>A <em>signed</em> cookie may be viewed but not modified by the client. A <em>private</em>
cookie may neither be viewed nor modified by the client.</p>
<p>The constructors take a key as an argument. This is the private key
for cookie session - when this value is changed, all session data is lost.</p>
<p>In general, you create a <code>SessionStorage</code> middleware and initialize it
with specific backend implementation, such as a <code>CookieSessionBackend</code>.
To access session data,
<a href="trait.RequestSession.html#tymethod.session"><em>HttpRequest::session()</em></a>
must be used. This method returns a
<a href="struct.Session.html"><em>Session</em></a> object, which allows us to get or set
session data.</p>
<pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">actix_web</span>::{<span class="ident">actix</span>, <span class="ident">server</span>, <span class="ident">App</span>, <span class="ident">HttpRequest</span>, <span class="prelude-ty">Result</span>};
<span class="kw">use</span> <span class="ident">actix_web</span>::<span class="ident">middleware</span>::<span class="ident">session</span>::{<span class="ident">RequestSession</span>, <span class="ident">SessionStorage</span>, <span class="ident">CookieSessionBackend</span>};
<span class="kw">fn</span> <span class="ident">index</span>(<span class="ident">req</span>: <span class="ident">HttpRequest</span>) <span class="op">-&gt;</span> <span class="prelude-ty">Result</span><span class="op">&lt;</span><span class="kw-2">&amp;</span><span class="lifetime">&#39;static</span> <span class="ident">str</span><span class="op">&gt;</span> {
<span class="comment">// access session data</span>
<span class="kw">if</span> <span class="kw">let</span> <span class="prelude-val">Some</span>(<span class="ident">count</span>) <span class="op">=</span> <span class="ident">req</span>.<span class="ident">session</span>().<span class="ident">get</span>::<span class="op">&lt;</span><span class="ident">i32</span><span class="op">&gt;</span>(<span class="string">&quot;counter&quot;</span>)<span class="question-mark">?</span> {
<span class="macro">println</span><span class="macro">!</span>(<span class="string">&quot;SESSION value: {}&quot;</span>, <span class="ident">count</span>);
<span class="ident">req</span>.<span class="ident">session</span>().<span class="ident">set</span>(<span class="string">&quot;counter&quot;</span>, <span class="ident">count</span><span class="op">+</span><span class="number">1</span>)<span class="question-mark">?</span>;
} <span class="kw">else</span> {
<span class="ident">req</span>.<span class="ident">session</span>().<span class="ident">set</span>(<span class="string">&quot;counter&quot;</span>, <span class="number">1</span>)<span class="question-mark">?</span>;
}
<span class="prelude-val">Ok</span>(<span class="string">&quot;Welcome!&quot;</span>)
}
<span class="kw">fn</span> <span class="ident">main</span>() {
<span class="ident">actix</span>::<span class="ident">System</span>::<span class="ident">run</span>(<span class="op">||</span> {
<span class="ident">server</span>::<span class="ident">new</span>(
<span class="op">||</span> <span class="ident">App</span>::<span class="ident">new</span>().<span class="ident">middleware</span>(
<span class="ident">SessionStorage</span>::<span class="ident">new</span>( <span class="comment">// &lt;- create session middleware</span>
<span class="ident">CookieSessionBackend</span>::<span class="ident">signed</span>(<span class="kw-2">&amp;</span>[<span class="number">0</span>; <span class="number">32</span>]) <span class="comment">// &lt;- create signed cookie session backend</span>
.<span class="ident">secure</span>(<span class="bool-val">false</span>)
)))
.<span class="ident">bind</span>(<span class="string">&quot;127.0.0.1:59880&quot;</span>).<span class="ident">unwrap</span>()
.<span class="ident">start</span>();
});
}</pre>
</div><h2 id='structs' class='section-header'><a href="#structs">Structs</a></h2>
<table>
<tr class=' module-item'>
<td><a class="struct" href="struct.CookieSession.html"
title='struct actix_web::middleware::session::CookieSession'>CookieSession</a></td>
<td class='docblock-short'>
<p>Session that uses signed cookies as session storage</p>
</td>
</tr>
<tr class=' module-item'>
<td><a class="struct" href="struct.CookieSessionBackend.html"
title='struct actix_web::middleware::session::CookieSessionBackend'>CookieSessionBackend</a></td>
<td class='docblock-short'>
<p>Use cookies for session storage.</p>
</td>
</tr>
<tr class=' module-item'>
<td><a class="struct" href="struct.Session.html"
title='struct actix_web::middleware::session::Session'>Session</a></td>
<td class='docblock-short'>
<p>The high-level interface you use to modify session data.</p>
</td>
</tr>
<tr class=' module-item'>
<td><a class="struct" href="struct.SessionStorage.html"
title='struct actix_web::middleware::session::SessionStorage'>SessionStorage</a></td>
<td class='docblock-short'>
<p>Session storage middleware</p>
</td>
</tr></table><h2 id='enums' class='section-header'><a href="#enums">Enums</a></h2>
<table>
<tr class=' module-item'>
<td><a class="enum" href="enum.CookieSessionError.html"
title='enum actix_web::middleware::session::CookieSessionError'>CookieSessionError</a></td>
<td class='docblock-short'>
<p>Errors that can occur during handling cookie session</p>
</td>
</tr></table><h2 id='traits' class='section-header'><a href="#traits">Traits</a></h2>
<table>
<tr class=' module-item'>
<td><a class="trait" href="trait.RequestSession.html"
title='trait actix_web::middleware::session::RequestSession'>RequestSession</a></td>
<td class='docblock-short'>
<p>The helper trait to obtain your session data from a request.</p>
</td>
</tr></table></section><section id="search" class="content hidden"></section><section class="footer"></section><aside id="help" class="hidden"><div><h1 class="hidden">Help</h1><div class="shortcuts"><h2>Keyboard Shortcuts</h2><dl><dt><kbd>?</kbd></dt><dd>Show this help dialog</dd><dt><kbd>S</kbd></dt><dd>Focus the search field</dd><dt><kbd></kbd></dt><dd>Move up in search results</dd><dt><kbd></kbd></dt><dd>Move down in search results</dd><dt><kbd></kbd></dt><dd>Switch tab</dd><dt><kbd>&#9166;</kbd></dt><dd>Go to active search result</dd><dt><kbd>+</kbd></dt><dd>Expand all sections</dd><dt><kbd>-</kbd></dt><dd>Collapse all sections</dd></dl></div><div class="infos"><h2>Search Tricks</h2><p>Prefix searches with a type followed by a colon (e.g. <code>fn:</code>) to restrict the search to a given type.</p><p>Accepted types are: <code>fn</code>, <code>mod</code>, <code>struct</code>, <code>enum</code>, <code>trait</code>, <code>type</code>, <code>macro</code>, and <code>const</code>.</p><p>Search functions by type signature (e.g. <code>vec -> usize</code> or <code>* -> vec</code>)</p><p>Search multiple things at once by splitting your query with comma (e.g. <code>str,u8</code> or <code>String,struct:Vec,test</code>)</p></div></div></aside><script>window.rootPath = "../../../";window.currentCrate = "actix_web";</script><script src="../../../aliases.js"></script><script src="../../../main.js"></script><script defer src="../../../search-index.js"></script></body></html>

View File

@ -0,0 +1 @@
initSidebarItems({"enum":[["CookieSessionError","Errors that can occur during handling cookie session"]],"struct":[["CookieSession","Session that uses signed cookies as session storage"],["CookieSessionBackend","Use cookies for session storage."],["Session","The high-level interface you use to modify session data."],["SessionStorage","Session storage middleware"]],"trait":[["RequestSession","The helper trait to obtain your session data from a request."]]});

View File

@ -0,0 +1,7 @@
<!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="API documentation for the Rust `CookieSession` struct in crate `actix_web`."><meta name="keywords" content="rust, rustlang, rust-lang, CookieSession"><title>actix_web::middleware::session::CookieSession - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><script src="../../../storage.js"></script></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">&#9776;</div><p class='location'>Struct CookieSession</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-Send">!Send</a><a href="#impl-Sync">!Sync</a></div></div><p class='location'><a href='../../index.html'>actix_web</a>::<wbr><a href='../index.html'>middleware</a>::<wbr><a href='index.html'>session</a></p><script>window.sidebarCurrent = {name: 'CookieSession', ty: 'struct', relpath: ''};</script><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form js-only"><div class="search-container"><input class="search-input" name="search" autocomplete="off" placeholder="Click or press S to search, ? for more options…" type="search"><a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='in-band'>Struct <a href='../../index.html'>actix_web</a>::<wbr><a href='../index.html'>middleware</a>::<wbr><a href='index.html'>session</a>::<wbr><a class="struct" href=''>CookieSession</a></span><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>&#x2212;</span>]</a></span><a class='srclink' href='../../../src/actix_web/middleware/session.rs.html#298-302' title='goto source code'>[src]</a></span></h1><div class="docblock type-decl"><pre class='rust struct'>pub struct CookieSession { /* fields omitted */ }</pre></div><div class='docblock'><p>Session that uses signed cookies as session storage</p>
</div>
<h2 id='synthetic-implementations' class='small-section-header'>
Auto Trait Implementations<a href='#synthetic-implementations' class='anchor'></a>
</h2>
<div id='synthetic-implementations-list'>
<h3 id='impl-Send' class='impl'><span class='in-band'><table class='table-display'><tbody><tr><td><code>impl !<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../actix_web/middleware/session/struct.CookieSession.html" title="struct actix_web::middleware::session::CookieSession">CookieSession</a></code><a href='#impl-Send' class='anchor'></a></span></td><td><span class='out-of-band'></span></td></tr></tbody></table></h3><div class='impl-items'></div><h3 id='impl-Sync' class='impl'><span class='in-band'><table class='table-display'><tbody><tr><td><code>impl !<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../actix_web/middleware/session/struct.CookieSession.html" title="struct actix_web::middleware::session::CookieSession">CookieSession</a></code><a href='#impl-Sync' class='anchor'></a></span></td><td><span class='out-of-band'></span></td></tr></tbody></table></h3><div class='impl-items'></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><aside id="help" class="hidden"><div><h1 class="hidden">Help</h1><div class="shortcuts"><h2>Keyboard Shortcuts</h2><dl><dt><kbd>?</kbd></dt><dd>Show this help dialog</dd><dt><kbd>S</kbd></dt><dd>Focus the search field</dd><dt><kbd></kbd></dt><dd>Move up in search results</dd><dt><kbd></kbd></dt><dd>Move down in search results</dd><dt><kbd></kbd></dt><dd>Switch tab</dd><dt><kbd>&#9166;</kbd></dt><dd>Go to active search result</dd><dt><kbd>+</kbd></dt><dd>Expand all sections</dd><dt><kbd>-</kbd></dt><dd>Collapse all sections</dd></dl></div><div class="infos"><h2>Search Tricks</h2><p>Prefix searches with a type followed by a colon (e.g. <code>fn:</code>) to restrict the search to a given type.</p><p>Accepted types are: <code>fn</code>, <code>mod</code>, <code>struct</code>, <code>enum</code>, <code>trait</code>, <code>type</code>, <code>macro</code>, and <code>const</code>.</p><p>Search functions by type signature (e.g. <code>vec -> usize</code> or <code>* -> vec</code>)</p><p>Search multiple things at once by splitting your query with comma (e.g. <code>str,u8</code> or <code>String,struct:Vec,test</code>)</p></div></div></aside><script>window.rootPath = "../../../";window.currentCrate = "actix_web";</script><script src="../../../aliases.js"></script><script src="../../../main.js"></script><script defer src="../../../search-index.js"></script></body></html>

View File

@ -0,0 +1,50 @@
<!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="API documentation for the Rust `CookieSessionBackend` struct in crate `actix_web`."><meta name="keywords" content="rust, rustlang, rust-lang, CookieSessionBackend"><title>actix_web::middleware::session::CookieSessionBackend - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><script src="../../../storage.js"></script></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">&#9776;</div><p class='location'>Struct CookieSessionBackend</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#methods">Methods</a><div class="sidebar-links"><a href="#method.signed">signed</a><a href="#method.private">private</a><a href="#method.path">path</a><a href="#method.name">name</a><a href="#method.domain">domain</a><a href="#method.secure">secure</a><a href="#method.same_site">same_site</a><a href="#method.max_age">max_age</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-Send">!Send</a><a href="#impl-Sync">!Sync</a></div></div><p class='location'><a href='../../index.html'>actix_web</a>::<wbr><a href='../index.html'>middleware</a>::<wbr><a href='index.html'>session</a></p><script>window.sidebarCurrent = {name: 'CookieSessionBackend', ty: 'struct', relpath: ''};</script><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form js-only"><div class="search-container"><input class="search-input" name="search" autocomplete="off" placeholder="Click or press S to search, ? for more options…" type="search"><a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='in-band'>Struct <a href='../../index.html'>actix_web</a>::<wbr><a href='../index.html'>middleware</a>::<wbr><a href='index.html'>session</a>::<wbr><a class="struct" href=''>CookieSessionBackend</a></span><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>&#x2212;</span>]</a></span><a class='srclink' href='../../../src/actix_web/middleware/session.rs.html#485' title='goto source code'>[src]</a></span></h1><div class="docblock type-decl"><pre class='rust struct'>pub struct CookieSessionBackend(_);</pre></div><div class='docblock'><p>Use cookies for session storage.</p>
<p><code>CookieSessionBackend</code> creates sessions which are limited to storing
fewer than 4000 bytes of data (as the payload must fit into a single
cookie). An Internal Server Error is generated if the session contains more
than 4000 bytes.</p>
<p>A cookie may have a security policy of <em>signed</em> or <em>private</em>. Each has a
respective <code>CookieSessionBackend</code> constructor.</p>
<p>A <em>signed</em> cookie is stored on the client as plaintext alongside
a signature such that the cookie may be viewed but not modified by the
client.</p>
<p>A <em>private</em> cookie is stored on the client as encrypted text
such that it may neither be viewed nor modified by the client.</p>
<p>The constructors take a key as an argument.
This is the private key for cookie session - when this value is changed,
all session data is lost. The constructors will panic if the key is less
than 32 bytes in length.</p>
<p>The backend relies on <code>cookie</code> crate to create and read cookies.
By default all cookies are percent encoded, but certain symbols may
cause troubles when reading cookie, if they are not properly percent encoded.</p>
<h1 id="example" class="section-header"><a href="#example">Example</a></h1>
<pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">actix_web</span>::<span class="ident">middleware</span>::<span class="ident">session</span>::<span class="ident">CookieSessionBackend</span>;
<span class="kw">let</span> <span class="ident">backend</span>: <span class="ident">CookieSessionBackend</span> <span class="op">=</span> <span class="ident">CookieSessionBackend</span>::<span class="ident">signed</span>(<span class="kw-2">&amp;</span>[<span class="number">0</span>; <span class="number">32</span>])
.<span class="ident">domain</span>(<span class="string">&quot;www.rust-lang.org&quot;</span>)
.<span class="ident">name</span>(<span class="string">&quot;actix_session&quot;</span>)
.<span class="ident">path</span>(<span class="string">&quot;/&quot;</span>)
.<span class="ident">secure</span>(<span class="bool-val">true</span>);</pre>
</div>
<h2 id='methods' class='small-section-header'>
Methods<a href='#methods' class='anchor'></a>
</h2>
<h3 id='impl' class='impl'><span class='in-band'><table class='table-display'><tbody><tr><td><code>impl <a class="struct" href="../../../actix_web/middleware/session/struct.CookieSessionBackend.html" title="struct actix_web::middleware::session::CookieSessionBackend">CookieSessionBackend</a></code><a href='#impl' class='anchor'></a></span></td><td><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../../src/actix_web/middleware/session.rs.html#487-546' title='goto source code'>[src]</a></span></td></tr></tbody></table></h3><div class='impl-items'><h4 id='method.signed' class="method"><span id='signed.v' class='invisible'><table class='table-display'><tbody><tr><td><code>pub fn <a href='#method.signed' class='fnname'>signed</a>(key: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&amp;[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>) -&gt; <a class="struct" href="../../../actix_web/middleware/session/struct.CookieSessionBackend.html" title="struct actix_web::middleware::session::CookieSessionBackend">CookieSessionBackend</a></code></span></td><td><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../../src/actix_web/middleware/session.rs.html#491-496' title='goto source code'>[src]</a></td></tr></tbody></table></span></h4><div class='docblock'><p>Construct new <em>signed</em> <code>CookieSessionBackend</code> instance.</p>
<p>Panics if key length is less than 32 bytes.</p>
</div><h4 id='method.private' class="method"><span id='private.v' class='invisible'><table class='table-display'><tbody><tr><td><code>pub fn <a href='#method.private' class='fnname'>private</a>(key: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">&amp;[</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.u8.html">u8</a><a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.slice.html">]</a>) -&gt; <a class="struct" href="../../../actix_web/middleware/session/struct.CookieSessionBackend.html" title="struct actix_web::middleware::session::CookieSessionBackend">CookieSessionBackend</a></code></span></td><td><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../../src/actix_web/middleware/session.rs.html#501-506' title='goto source code'>[src]</a></td></tr></tbody></table></span></h4><div class='docblock'><p>Construct new <em>private</em> <code>CookieSessionBackend</code> instance.</p>
<p>Panics if key length is less than 32 bytes.</p>
</div><h4 id='method.path' class="method"><span id='path.v' class='invisible'><table class='table-display'><tbody><tr><td><code>pub fn <a href='#method.path' class='fnname'>path</a>&lt;S:&nbsp;<a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;&gt;(self, value: S) -&gt; <a class="struct" href="../../../actix_web/middleware/session/struct.CookieSessionBackend.html" title="struct actix_web::middleware::session::CookieSessionBackend">CookieSessionBackend</a></code></span></td><td><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../../src/actix_web/middleware/session.rs.html#509-512' title='goto source code'>[src]</a></td></tr></tbody></table></span></h4><div class='docblock'><p>Sets the <code>path</code> field in the session cookie being built.</p>
</div><h4 id='method.name' class="method"><span id='name.v' class='invisible'><table class='table-display'><tbody><tr><td><code>pub fn <a href='#method.name' class='fnname'>name</a>&lt;S:&nbsp;<a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;&gt;(self, value: S) -&gt; <a class="struct" href="../../../actix_web/middleware/session/struct.CookieSessionBackend.html" title="struct actix_web::middleware::session::CookieSessionBackend">CookieSessionBackend</a></code></span></td><td><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../../src/actix_web/middleware/session.rs.html#515-518' title='goto source code'>[src]</a></td></tr></tbody></table></span></h4><div class='docblock'><p>Sets the <code>name</code> field in the session cookie being built.</p>
</div><h4 id='method.domain' class="method"><span id='domain.v' class='invisible'><table class='table-display'><tbody><tr><td><code>pub fn <a href='#method.domain' class='fnname'>domain</a>&lt;S:&nbsp;<a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;<a class="struct" href="https://doc.rust-lang.org/nightly/alloc/string/struct.String.html" title="struct alloc::string::String">String</a>&gt;&gt;(self, value: S) -&gt; <a class="struct" href="../../../actix_web/middleware/session/struct.CookieSessionBackend.html" title="struct actix_web::middleware::session::CookieSessionBackend">CookieSessionBackend</a></code></span></td><td><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../../src/actix_web/middleware/session.rs.html#521-524' title='goto source code'>[src]</a></td></tr></tbody></table></span></h4><div class='docblock'><p>Sets the <code>domain</code> field in the session cookie being built.</p>
</div><h4 id='method.secure' class="method"><span id='secure.v' class='invisible'><table class='table-display'><tbody><tr><td><code>pub fn <a href='#method.secure' class='fnname'>secure</a>(self, value: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.bool.html">bool</a>) -&gt; <a class="struct" href="../../../actix_web/middleware/session/struct.CookieSessionBackend.html" title="struct actix_web::middleware::session::CookieSessionBackend">CookieSessionBackend</a></code></span></td><td><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../../src/actix_web/middleware/session.rs.html#530-533' title='goto source code'>[src]</a></td></tr></tbody></table></span></h4><div class='docblock'><p>Sets the <code>secure</code> field in the session cookie being built.</p>
<p>If the <code>secure</code> field is set, a cookie will only be transmitted when the
connection is secure - i.e. <code>https</code></p>
</div><h4 id='method.same_site' class="method"><span id='same_site.v' class='invisible'><table class='table-display'><tbody><tr><td><code>pub fn <a href='#method.same_site' class='fnname'>same_site</a>(self, value: <a class="enum" href="https://docs.rs/cookie/0.10/cookie/draft/enum.SameSite.html" title="enum cookie::draft::SameSite">SameSite</a>) -&gt; <a class="struct" href="../../../actix_web/middleware/session/struct.CookieSessionBackend.html" title="struct actix_web::middleware::session::CookieSessionBackend">CookieSessionBackend</a></code></span></td><td><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../../src/actix_web/middleware/session.rs.html#536-539' title='goto source code'>[src]</a></td></tr></tbody></table></span></h4><div class='docblock'><p>Sets the <code>same_site</code> field in the session cookie being built.</p>
</div><h4 id='method.max_age' class="method"><span id='max_age.v' class='invisible'><table class='table-display'><tbody><tr><td><code>pub fn <a href='#method.max_age' class='fnname'>max_age</a>(self, value: <a class="struct" href="https://doc.rust-lang.org/time/time/duration/struct.Duration.html" title="struct time::duration::Duration">Duration</a>) -&gt; <a class="struct" href="../../../actix_web/middleware/session/struct.CookieSessionBackend.html" title="struct actix_web::middleware::session::CookieSessionBackend">CookieSessionBackend</a></code></span></td><td><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../../src/actix_web/middleware/session.rs.html#542-545' title='goto source code'>[src]</a></td></tr></tbody></table></span></h4><div class='docblock'><p>Sets the <code>max-age</code> field in the session cookie being built.</p>
</div></div>
<h2 id='synthetic-implementations' class='small-section-header'>
Auto Trait Implementations<a href='#synthetic-implementations' class='anchor'></a>
</h2>
<div id='synthetic-implementations-list'>
<h3 id='impl-Send' class='impl'><span class='in-band'><table class='table-display'><tbody><tr><td><code>impl !<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../actix_web/middleware/session/struct.CookieSessionBackend.html" title="struct actix_web::middleware::session::CookieSessionBackend">CookieSessionBackend</a></code><a href='#impl-Send' class='anchor'></a></span></td><td><span class='out-of-band'></span></td></tr></tbody></table></h3><div class='impl-items'></div><h3 id='impl-Sync' class='impl'><span class='in-band'><table class='table-display'><tbody><tr><td><code>impl !<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../actix_web/middleware/session/struct.CookieSessionBackend.html" title="struct actix_web::middleware::session::CookieSessionBackend">CookieSessionBackend</a></code><a href='#impl-Sync' class='anchor'></a></span></td><td><span class='out-of-band'></span></td></tr></tbody></table></h3><div class='impl-items'></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><aside id="help" class="hidden"><div><h1 class="hidden">Help</h1><div class="shortcuts"><h2>Keyboard Shortcuts</h2><dl><dt><kbd>?</kbd></dt><dd>Show this help dialog</dd><dt><kbd>S</kbd></dt><dd>Focus the search field</dd><dt><kbd></kbd></dt><dd>Move up in search results</dd><dt><kbd></kbd></dt><dd>Move down in search results</dd><dt><kbd></kbd></dt><dd>Switch tab</dd><dt><kbd>&#9166;</kbd></dt><dd>Go to active search result</dd><dt><kbd>+</kbd></dt><dd>Expand all sections</dd><dt><kbd>-</kbd></dt><dd>Collapse all sections</dd></dl></div><div class="infos"><h2>Search Tricks</h2><p>Prefix searches with a type followed by a colon (e.g. <code>fn:</code>) to restrict the search to a given type.</p><p>Accepted types are: <code>fn</code>, <code>mod</code>, <code>struct</code>, <code>enum</code>, <code>trait</code>, <code>type</code>, <code>macro</code>, and <code>const</code>.</p><p>Search functions by type signature (e.g. <code>vec -> usize</code> or <code>* -> vec</code>)</p><p>Search multiple things at once by splitting your query with comma (e.g. <code>str,u8</code> or <code>String,struct:Vec,test</code>)</p></div></div></aside><script>window.rootPath = "../../../";window.currentCrate = "actix_web";</script><script src="../../../aliases.js"></script><script src="../../../main.js"></script><script defer src="../../../search-index.js"></script></body></html>

View File

@ -0,0 +1,58 @@
<!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="API documentation for the Rust `Session` struct in crate `actix_web`."><meta name="keywords" content="rust, rustlang, rust-lang, Session"><title>actix_web::middleware::session::Session - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><script src="../../../storage.js"></script></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">&#9776;</div><p class='location'>Struct Session</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#methods">Methods</a><div class="sidebar-links"><a href="#method.get">get</a><a href="#method.set">set</a><a href="#method.remove">remove</a><a href="#method.clear">clear</a></div><a class="sidebar-title" href="#implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-FromRequest%3CS%3E">FromRequest&lt;S&gt;</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-Send">!Send</a><a href="#impl-Sync">!Sync</a></div></div><p class='location'><a href='../../index.html'>actix_web</a>::<wbr><a href='../index.html'>middleware</a>::<wbr><a href='index.html'>session</a></p><script>window.sidebarCurrent = {name: 'Session', ty: 'struct', relpath: ''};</script><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form js-only"><div class="search-container"><input class="search-input" name="search" autocomplete="off" placeholder="Click or press S to search, ? for more options…" type="search"><a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='in-band'>Struct <a href='../../index.html'>actix_web</a>::<wbr><a href='../index.html'>middleware</a>::<wbr><a href='index.html'>session</a>::<wbr><a class="struct" href=''>Session</a></span><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>&#x2212;</span>]</a></span><a class='srclink' href='../../../src/actix_web/middleware/session.rs.html#141' title='goto source code'>[src]</a></span></h1><div class="docblock type-decl"><pre class='rust struct'>pub struct Session(_);</pre></div><div class='docblock'><p>The high-level interface you use to modify session data.</p>
<p>Session object could be obtained with
<a href="trait.RequestSession.html#tymethod.session"><code>RequestSession::session</code></a>
method. <code>RequestSession</code> trait is implemented for <code>HttpRequest</code>.</p>
<pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">actix_web</span>::<span class="ident">middleware</span>::<span class="ident">session</span>::<span class="ident">RequestSession</span>;
<span class="kw">use</span> <span class="ident">actix_web</span>::<span class="kw-2">*</span>;
<span class="kw">fn</span> <span class="ident">index</span>(<span class="kw-2">mut</span> <span class="ident">req</span>: <span class="ident">HttpRequest</span>) <span class="op">-&gt;</span> <span class="prelude-ty">Result</span><span class="op">&lt;</span><span class="kw-2">&amp;</span><span class="lifetime">&#39;static</span> <span class="ident">str</span><span class="op">&gt;</span> {
<span class="comment">// access session data</span>
<span class="kw">if</span> <span class="kw">let</span> <span class="prelude-val">Some</span>(<span class="ident">count</span>) <span class="op">=</span> <span class="ident">req</span>.<span class="ident">session</span>().<span class="ident">get</span>::<span class="op">&lt;</span><span class="ident">i32</span><span class="op">&gt;</span>(<span class="string">&quot;counter&quot;</span>)<span class="question-mark">?</span> {
<span class="ident">req</span>.<span class="ident">session</span>().<span class="ident">set</span>(<span class="string">&quot;counter&quot;</span>, <span class="ident">count</span> <span class="op">+</span> <span class="number">1</span>)<span class="question-mark">?</span>;
} <span class="kw">else</span> {
<span class="ident">req</span>.<span class="ident">session</span>().<span class="ident">set</span>(<span class="string">&quot;counter&quot;</span>, <span class="number">1</span>)<span class="question-mark">?</span>;
}
<span class="prelude-val">Ok</span>(<span class="string">&quot;Welcome!&quot;</span>)
}</pre>
</div>
<h2 id='methods' class='small-section-header'>
Methods<a href='#methods' class='anchor'></a>
</h2>
<h3 id='impl' class='impl'><span class='in-band'><table class='table-display'><tbody><tr><td><code>impl <a class="struct" href="../../../actix_web/middleware/session/struct.Session.html" title="struct actix_web::middleware::session::Session">Session</a></code><a href='#impl' class='anchor'></a></span></td><td><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../../src/actix_web/middleware/session.rs.html#148-192' title='goto source code'>[src]</a></span></td></tr></tbody></table></h3><div class='impl-items'><h4 id='method.get' class="method"><span id='get.v' class='invisible'><table class='table-display'><tbody><tr><td><code>pub fn <a href='#method.get' class='fnname'>get</a>&lt;T:&nbsp;<a class="trait" href="https://docs.rs/serde/1.0.70/serde/de/trait.DeserializeOwned.html" title="trait serde::de::DeserializeOwned">DeserializeOwned</a>&gt;(&amp;self, key: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -&gt; <a class="type" href="../../../actix_web/error/type.Result.html" title="type actix_web::error::Result">Result</a>&lt;<a class="enum" href="https://doc.rust-lang.org/nightly/core/option/enum.Option.html" title="enum core::option::Option">Option</a>&lt;T&gt;&gt;</code></span></td><td><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../../src/actix_web/middleware/session.rs.html#150-161' title='goto source code'>[src]</a></td></tr></tbody></table></span></h4><div class='docblock'><p>Get a <code>value</code> from the session.</p>
</div><h4 id='method.set' class="method"><span id='set.v' class='invisible'><table class='table-display'><tbody><tr><td><code>pub fn <a href='#method.set' class='fnname'>set</a>&lt;T:&nbsp;<a class="trait" href="https://docs.rs/serde/1.0.70/serde/ser/trait.Serialize.html" title="trait serde::ser::Serialize">Serialize</a>&gt;(&amp;self, key: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>, value: T) -&gt; <a class="type" href="../../../actix_web/error/type.Result.html" title="type actix_web::error::Result">Result</a>&lt;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a>&gt;</code></span></td><td><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../../src/actix_web/middleware/session.rs.html#164-175' title='goto source code'>[src]</a></td></tr></tbody></table></span></h4><div class='docblock'><p>Set a <code>value</code> from the session.</p>
</div><h4 id='method.remove' class="method"><span id='remove.v' class='invisible'><table class='table-display'><tbody><tr><td><code>pub fn <a href='#method.remove' class='fnname'>remove</a>(&amp;self, key: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>)</code></span></td><td><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../../src/actix_web/middleware/session.rs.html#178-183' title='goto source code'>[src]</a></td></tr></tbody></table></span></h4><div class='docblock'><p>Remove value from the session.</p>
</div><h4 id='method.clear' class="method"><span id='clear.v' class='invisible'><table class='table-display'><tbody><tr><td><code>pub fn <a href='#method.clear' class='fnname'>clear</a>(&amp;self)</code></span></td><td><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../../src/actix_web/middleware/session.rs.html#186-191' title='goto source code'>[src]</a></td></tr></tbody></table></span></h4><div class='docblock'><p>Clear the session.</p>
</div></div>
<h2 id='implementations' class='small-section-header'>
Trait Implementations<a href='#implementations' class='anchor'></a>
</h2>
<div id='implementations-list'><h3 id='impl-FromRequest%3CS%3E' class='impl'><span class='in-band'><table class='table-display'><tbody><tr><td><code>impl&lt;S&gt; <a class="trait" href="../../../actix_web/trait.FromRequest.html" title="trait actix_web::FromRequest">FromRequest</a>&lt;S&gt; for <a class="struct" href="../../../actix_web/middleware/session/struct.Session.html" title="struct actix_web::middleware::session::Session">Session</a></code><a href='#impl-FromRequest%3CS%3E' class='anchor'></a></span></td><td><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../../src/actix_web/middleware/session.rs.html#212-220' title='goto source code'>[src]</a></span></td></tr></tbody></table></h3><div class='docblock'><p>Extractor implementation for Session type.</p>
<pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">actix_web</span>::<span class="ident">middleware</span>::<span class="ident">session</span>::<span class="ident">Session</span>;
<span class="kw">fn</span> <span class="ident">index</span>(<span class="ident">session</span>: <span class="ident">Session</span>) <span class="op">-&gt;</span> <span class="prelude-ty">Result</span><span class="op">&lt;</span><span class="kw-2">&amp;</span><span class="lifetime">&#39;static</span> <span class="ident">str</span><span class="op">&gt;</span> {
<span class="comment">// access session data</span>
<span class="kw">if</span> <span class="kw">let</span> <span class="prelude-val">Some</span>(<span class="ident">count</span>) <span class="op">=</span> <span class="ident">session</span>.<span class="ident">get</span>::<span class="op">&lt;</span><span class="ident">i32</span><span class="op">&gt;</span>(<span class="string">&quot;counter&quot;</span>)<span class="question-mark">?</span> {
<span class="ident">session</span>.<span class="ident">set</span>(<span class="string">&quot;counter&quot;</span>, <span class="ident">count</span> <span class="op">+</span> <span class="number">1</span>)<span class="question-mark">?</span>;
} <span class="kw">else</span> {
<span class="ident">session</span>.<span class="ident">set</span>(<span class="string">&quot;counter&quot;</span>, <span class="number">1</span>)<span class="question-mark">?</span>;
}
<span class="prelude-val">Ok</span>(<span class="string">&quot;Welcome!&quot;</span>)
}</pre>
</div><div class='impl-items'><h4 id='associatedtype.Config' class="type"><span id='Config.t' class='invisible'><code>type <a href='../../../actix_web/trait.FromRequest.html#associatedtype.Config' class="type">Config</a> = <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.unit.html">()</a></code></span></h4>
<div class='docblock'><p>Configuration for conversion process</p>
</div><h4 id='associatedtype.Result' class="type"><span id='Result.t' class='invisible'><code>type <a href='../../../actix_web/trait.FromRequest.html#associatedtype.Result' class="type">Result</a> = <a class="struct" href="../../../actix_web/middleware/session/struct.Session.html" title="struct actix_web::middleware::session::Session">Session</a></code></span></h4>
<div class='docblock'><p>Future that resolves to a Self</p>
</div><h4 id='method.from_request' class="method"><span id='from_request.v' class='invisible'><table class='table-display'><tbody><tr><td><code>fn <a href='../../../actix_web/trait.FromRequest.html#tymethod.from_request' class='fnname'>from_request</a>(req: &amp;<a class="struct" href="../../../actix_web/struct.HttpRequest.html" title="struct actix_web::HttpRequest">HttpRequest</a>&lt;S&gt;, _: &amp;Self::<a class="type" href="../../../actix_web/trait.FromRequest.html#associatedtype.Config" title="type actix_web::FromRequest::Config">Config</a>) -&gt; Self::<a class="type" href="../../../actix_web/trait.FromRequest.html#associatedtype.Result" title="type actix_web::FromRequest::Result">Result</a></code></span></td><td><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../../src/actix_web/middleware/session.rs.html#217-219' title='goto source code'>[src]</a></td></tr></tbody></table></span></h4><div class='docblock'><p>Convert request to a Self</p>
</div><h4 id='method.extract' class="method"><span id='extract.v' class='invisible'><table class='table-display'><tbody><tr><td><code>fn <a href='../../../actix_web/trait.FromRequest.html#method.extract' class='fnname'>extract</a>(req: &amp;<a class="struct" href="../../../actix_web/struct.HttpRequest.html" title="struct actix_web::HttpRequest">HttpRequest</a>&lt;S&gt;) -&gt; Self::<a class="type" href="../../../actix_web/trait.FromRequest.html#associatedtype.Result" title="type actix_web::FromRequest::Result">Result</a></code></span></td><td><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../../src/actix_web/handler.rs.html#55-57' title='goto source code'>[src]</a></td></tr></tbody></table></span></h4><div class='docblock'><p>Convert request to a Self <a href="../../../actix_web/trait.FromRequest.html#method.extract">Read more</a></p>
</div></div></div>
<h2 id='synthetic-implementations' class='small-section-header'>
Auto Trait Implementations<a href='#synthetic-implementations' class='anchor'></a>
</h2>
<div id='synthetic-implementations-list'>
<h3 id='impl-Send' class='impl'><span class='in-band'><table class='table-display'><tbody><tr><td><code>impl !<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../actix_web/middleware/session/struct.Session.html" title="struct actix_web::middleware::session::Session">Session</a></code><a href='#impl-Send' class='anchor'></a></span></td><td><span class='out-of-band'></span></td></tr></tbody></table></h3><div class='impl-items'></div><h3 id='impl-Sync' class='impl'><span class='in-band'><table class='table-display'><tbody><tr><td><code>impl !<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../actix_web/middleware/session/struct.Session.html" title="struct actix_web::middleware::session::Session">Session</a></code><a href='#impl-Sync' class='anchor'></a></span></td><td><span class='out-of-band'></span></td></tr></tbody></table></h3><div class='impl-items'></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><aside id="help" class="hidden"><div><h1 class="hidden">Help</h1><div class="shortcuts"><h2>Keyboard Shortcuts</h2><dl><dt><kbd>?</kbd></dt><dd>Show this help dialog</dd><dt><kbd>S</kbd></dt><dd>Focus the search field</dd><dt><kbd></kbd></dt><dd>Move up in search results</dd><dt><kbd></kbd></dt><dd>Move down in search results</dd><dt><kbd></kbd></dt><dd>Switch tab</dd><dt><kbd>&#9166;</kbd></dt><dd>Go to active search result</dd><dt><kbd>+</kbd></dt><dd>Expand all sections</dd><dt><kbd>-</kbd></dt><dd>Collapse all sections</dd></dl></div><div class="infos"><h2>Search Tricks</h2><p>Prefix searches with a type followed by a colon (e.g. <code>fn:</code>) to restrict the search to a given type.</p><p>Accepted types are: <code>fn</code>, <code>mod</code>, <code>struct</code>, <code>enum</code>, <code>trait</code>, <code>type</code>, <code>macro</code>, and <code>const</code>.</p><p>Search functions by type signature (e.g. <code>vec -> usize</code> or <code>* -> vec</code>)</p><p>Search multiple things at once by splitting your query with comma (e.g. <code>str,u8</code> or <code>String,struct:Vec,test</code>)</p></div></div></aside><script>window.rootPath = "../../../";window.currentCrate = "actix_web";</script><script src="../../../aliases.js"></script><script src="../../../main.js"></script><script defer src="../../../search-index.js"></script></body></html>

View File

@ -0,0 +1,31 @@
<!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="API documentation for the Rust `SessionStorage` struct in crate `actix_web`."><meta name="keywords" content="rust, rustlang, rust-lang, SessionStorage"><title>actix_web::middleware::session::SessionStorage - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><script src="../../../storage.js"></script></head><body class="rustdoc struct"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">&#9776;</div><p class='location'>Struct SessionStorage</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#methods">Methods</a><div class="sidebar-links"><a href="#method.new">new</a></div><a class="sidebar-title" href="#implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Middleware%3CS%3E">Middleware&lt;S&gt;</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a></div></div><p class='location'><a href='../../index.html'>actix_web</a>::<wbr><a href='../index.html'>middleware</a>::<wbr><a href='index.html'>session</a></p><script>window.sidebarCurrent = {name: 'SessionStorage', ty: 'struct', relpath: ''};</script><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form js-only"><div class="search-container"><input class="search-input" name="search" autocomplete="off" placeholder="Click or press S to search, ? for more options…" type="search"><a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='in-band'>Struct <a href='../../index.html'>actix_web</a>::<wbr><a href='../index.html'>middleware</a>::<wbr><a href='index.html'>session</a>::<wbr><a class="struct" href=''>SessionStorage</a></span><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>&#x2212;</span>]</a></span><a class='srclink' href='../../../src/actix_web/middleware/session.rs.html#239' title='goto source code'>[src]</a></span></h1><div class="docblock type-decl"><pre class='rust struct'>pub struct SessionStorage&lt;T, S&gt;(_, _);</pre></div><div class='docblock'><p>Session storage middleware</p>
<pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">actix_web</span>::<span class="ident">middleware</span>::<span class="ident">session</span>::{<span class="ident">CookieSessionBackend</span>, <span class="ident">SessionStorage</span>};
<span class="kw">use</span> <span class="ident">actix_web</span>::<span class="ident">App</span>;
<span class="kw">fn</span> <span class="ident">main</span>() {
<span class="kw">let</span> <span class="ident">app</span> <span class="op">=</span> <span class="ident">App</span>::<span class="ident">new</span>().<span class="ident">middleware</span>(<span class="ident">SessionStorage</span>::<span class="ident">new</span>(
<span class="comment">// &lt;- create session middleware</span>
<span class="ident">CookieSessionBackend</span>::<span class="ident">signed</span>(<span class="kw-2">&amp;</span>[<span class="number">0</span>; <span class="number">32</span>]) <span class="comment">// &lt;- create cookie session backend</span>
.<span class="ident">secure</span>(<span class="bool-val">false</span>),
));
}</pre>
</div>
<h2 id='methods' class='small-section-header'>
Methods<a href='#methods' class='anchor'></a>
</h2>
<h3 id='impl' class='impl'><span class='in-band'><table class='table-display'><tbody><tr><td><code>impl&lt;S, T:&nbsp;SessionBackend&lt;S&gt;&gt; <a class="struct" href="../../../actix_web/middleware/session/struct.SessionStorage.html" title="struct actix_web::middleware::session::SessionStorage">SessionStorage</a>&lt;T, S&gt;</code><a href='#impl' class='anchor'></a></span></td><td><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../../src/actix_web/middleware/session.rs.html#241-246' title='goto source code'>[src]</a></span></td></tr></tbody></table></h3><div class='impl-items'><h4 id='method.new' class="method"><span id='new.v' class='invisible'><table class='table-display'><tbody><tr><td><code>pub fn <a href='#method.new' class='fnname'>new</a>(backend: T) -&gt; <a class="struct" href="../../../actix_web/middleware/session/struct.SessionStorage.html" title="struct actix_web::middleware::session::SessionStorage">SessionStorage</a>&lt;T, S&gt;</code></span></td><td><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../../src/actix_web/middleware/session.rs.html#243-245' title='goto source code'>[src]</a></td></tr></tbody></table></span></h4><div class='docblock'><p>Create session storage</p>
</div></div>
<h2 id='implementations' class='small-section-header'>
Trait Implementations<a href='#implementations' class='anchor'></a>
</h2>
<div id='implementations-list'><h3 id='impl-Middleware%3CS%3E' class='impl'><span class='in-band'><table class='table-display'><tbody><tr><td><code>impl&lt;S:&nbsp;'static, T:&nbsp;SessionBackend&lt;S&gt;&gt; <a class="trait" href="../../../actix_web/middleware/trait.Middleware.html" title="trait actix_web::middleware::Middleware">Middleware</a>&lt;S&gt; for <a class="struct" href="../../../actix_web/middleware/session/struct.SessionStorage.html" title="struct actix_web::middleware::session::SessionStorage">SessionStorage</a>&lt;T, S&gt;</code><a href='#impl-Middleware%3CS%3E' class='anchor'></a></span></td><td><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../../src/actix_web/middleware/session.rs.html#248-270' title='goto source code'>[src]</a></span></td></tr></tbody></table></h3><div class='impl-items'><h4 id='method.start' class="method"><span id='start.v' class='invisible'><table class='table-display'><tbody><tr><td><code>fn <a href='../../../actix_web/middleware/trait.Middleware.html#method.start' class='fnname'>start</a>(&amp;self, req: &amp;<a class="struct" href="../../../actix_web/struct.HttpRequest.html" title="struct actix_web::HttpRequest">HttpRequest</a>&lt;S&gt;) -&gt; <a class="type" href="../../../actix_web/error/type.Result.html" title="type actix_web::error::Result">Result</a>&lt;<a class="enum" href="../../../actix_web/middleware/enum.Started.html" title="enum actix_web::middleware::Started">Started</a>&gt;</code></span></td><td><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../../src/actix_web/middleware/session.rs.html#249-261' title='goto source code'>[src]</a></td></tr></tbody></table></span></h4><div class='docblock'><p>Method is called when request is ready. It may return future, which should resolve before next middleware get called. <a href="../../../actix_web/middleware/trait.Middleware.html#method.start">Read more</a></p>
</div><h4 id='method.response' class="method"><span id='response.v' class='invisible'><table class='table-display'><tbody><tr><td><code>fn <a href='../../../actix_web/middleware/trait.Middleware.html#method.response' class='fnname'>response</a>(&amp;self, req: &amp;<a class="struct" href="../../../actix_web/struct.HttpRequest.html" title="struct actix_web::HttpRequest">HttpRequest</a>&lt;S&gt;, resp: <a class="struct" href="../../../actix_web/struct.HttpResponse.html" title="struct actix_web::HttpResponse">HttpResponse</a>) -&gt; <a class="type" href="../../../actix_web/error/type.Result.html" title="type actix_web::error::Result">Result</a>&lt;<a class="enum" href="../../../actix_web/middleware/enum.Response.html" title="enum actix_web::middleware::Response">Response</a>&gt;</code></span></td><td><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../../src/actix_web/middleware/session.rs.html#263-269' title='goto source code'>[src]</a></td></tr></tbody></table></span></h4><div class='docblock'><p>Method is called when handler returns response, but before sending http message to peer. <a href="../../../actix_web/middleware/trait.Middleware.html#method.response">Read more</a></p>
</div><h4 id='method.finish' class="method"><span id='finish.v' class='invisible'><table class='table-display'><tbody><tr><td><code>fn <a href='../../../actix_web/middleware/trait.Middleware.html#method.finish' class='fnname'>finish</a>(&amp;self, req: &amp;<a class="struct" href="../../../actix_web/struct.HttpRequest.html" title="struct actix_web::HttpRequest">HttpRequest</a>&lt;S&gt;, resp: &amp;<a class="struct" href="../../../actix_web/struct.HttpResponse.html" title="struct actix_web::HttpResponse">HttpResponse</a>) -&gt; <a class="enum" href="../../../actix_web/middleware/enum.Finished.html" title="enum actix_web::middleware::Finished">Finished</a></code></span></td><td><span class='out-of-band'><div class='ghost'></div><a class='srclink' href='../../../src/actix_web/middleware/mod.rs.html#65-67' title='goto source code'>[src]</a></td></tr></tbody></table></span></h4><div class='docblock'><p>Method is called after body stream get sent to peer.</p>
</div></div></div>
<h2 id='synthetic-implementations' class='small-section-header'>
Auto Trait Implementations<a href='#synthetic-implementations' class='anchor'></a>
</h2>
<div id='synthetic-implementations-list'>
<h3 id='impl-Send' class='impl'><span class='in-band'><table class='table-display'><tbody><tr><td><code>impl&lt;T, S&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a> for <a class="struct" href="../../../actix_web/middleware/session/struct.SessionStorage.html" title="struct actix_web::middleware::session::SessionStorage">SessionStorage</a>&lt;T, S&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;S: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Send.html" title="trait core::marker::Send">Send</a>,&nbsp;</span></code><a href='#impl-Send' class='anchor'></a></span></td><td><span class='out-of-band'></span></td></tr></tbody></table></h3><div class='impl-items'></div><h3 id='impl-Sync' class='impl'><span class='in-band'><table class='table-display'><tbody><tr><td><code>impl&lt;T, S&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a> for <a class="struct" href="../../../actix_web/middleware/session/struct.SessionStorage.html" title="struct actix_web::middleware::session::SessionStorage">SessionStorage</a>&lt;T, S&gt; <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;S: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sync.html" title="trait core::marker::Sync">Sync</a>,&nbsp;</span></code><a href='#impl-Sync' class='anchor'></a></span></td><td><span class='out-of-band'></span></td></tr></tbody></table></h3><div class='impl-items'></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><aside id="help" class="hidden"><div><h1 class="hidden">Help</h1><div class="shortcuts"><h2>Keyboard Shortcuts</h2><dl><dt><kbd>?</kbd></dt><dd>Show this help dialog</dd><dt><kbd>S</kbd></dt><dd>Focus the search field</dd><dt><kbd></kbd></dt><dd>Move up in search results</dd><dt><kbd></kbd></dt><dd>Move down in search results</dd><dt><kbd></kbd></dt><dd>Switch tab</dd><dt><kbd>&#9166;</kbd></dt><dd>Go to active search result</dd><dt><kbd>+</kbd></dt><dd>Expand all sections</dd><dt><kbd>-</kbd></dt><dd>Collapse all sections</dd></dl></div><div class="infos"><h2>Search Tricks</h2><p>Prefix searches with a type followed by a colon (e.g. <code>fn:</code>) to restrict the search to a given type.</p><p>Accepted types are: <code>fn</code>, <code>mod</code>, <code>struct</code>, <code>enum</code>, <code>trait</code>, <code>type</code>, <code>macro</code>, and <code>const</code>.</p><p>Search functions by type signature (e.g. <code>vec -> usize</code> or <code>* -> vec</code>)</p><p>Search multiple things at once by splitting your query with comma (e.g. <code>str,u8</code> or <code>String,struct:Vec,test</code>)</p></div></div></aside><script>window.rootPath = "../../../";window.currentCrate = "actix_web";</script><script src="../../../aliases.js"></script><script src="../../../main.js"></script><script defer src="../../../search-index.js"></script></body></html>

View File

@ -0,0 +1,33 @@
<!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="API documentation for the Rust `RequestSession` trait in crate `actix_web`."><meta name="keywords" content="rust, rustlang, rust-lang, RequestSession"><title>actix_web::middleware::session::RequestSession - Rust</title><link rel="stylesheet" type="text/css" href="../../../normalize.css"><link rel="stylesheet" type="text/css" href="../../../rustdoc.css" id="mainThemeStyle"><link rel="stylesheet" type="text/css" href="../../../dark.css"><link rel="stylesheet" type="text/css" href="../../../light.css" id="themeStyle"><script src="../../../storage.js"></script></head><body class="rustdoc trait"><!--[if lte IE 8]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu">&#9776;</div><p class='location'>Trait RequestSession</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#required-methods">Required Methods</a><div class="sidebar-links"><a href="#tymethod.session">session</a></div><a class="sidebar-title" href="#implementors">Implementors</a></div><p class='location'><a href='../../index.html'>actix_web</a>::<wbr><a href='../index.html'>middleware</a>::<wbr><a href='index.html'>session</a></p><script>window.sidebarCurrent = {name: 'RequestSession', ty: 'trait', relpath: ''};</script><script defer src="sidebar-items.js"></script></div></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!"><img src="../../../brush.svg" width="18" alt="Pick another theme!"></button><div id="theme-choices"></div></div><script src="../../../theme.js"></script><nav class="sub"><form class="search-form js-only"><div class="search-container"><input class="search-input" name="search" autocomplete="off" placeholder="Click or press S to search, ? for more options…" type="search"><a id="settings-menu" href="../../../settings.html"><img src="../../../wheel.svg" width="18" alt="Change settings"></a></div></form></nav><section id="main" class="content"><h1 class='fqn'><span class='in-band'>Trait <a href='../../index.html'>actix_web</a>::<wbr><a href='../index.html'>middleware</a>::<wbr><a href='index.html'>session</a>::<wbr><a class="trait" href=''>RequestSession</a></span><span class='out-of-band'><span id='render-detail'><a id="toggle-all-docs" href="javascript:void(0)" title="collapse all docs">[<span class='inner'>&#x2212;</span>]</a></span><a class='srclink' href='../../../src/actix_web/middleware/session.rs.html#105-108' title='goto source code'>[src]</a></span></h1><div class="docblock type-decl"><pre class='rust trait'>pub trait RequestSession {
fn <a href='#tymethod.session' class='fnname'>session</a>(&amp;self) -&gt; <a class="struct" href="../../../actix_web/middleware/session/struct.Session.html" title="struct actix_web::middleware::session::Session">Session</a>;
}</pre></div><div class='docblock'><p>The helper trait to obtain your session data from a request.</p>
<pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">actix_web</span>::<span class="ident">middleware</span>::<span class="ident">session</span>::<span class="ident">RequestSession</span>;
<span class="kw">use</span> <span class="ident">actix_web</span>::<span class="kw-2">*</span>;
<span class="kw">fn</span> <span class="ident">index</span>(<span class="kw-2">mut</span> <span class="ident">req</span>: <span class="ident">HttpRequest</span>) <span class="op">-&gt;</span> <span class="prelude-ty">Result</span><span class="op">&lt;</span><span class="kw-2">&amp;</span><span class="lifetime">&#39;static</span> <span class="ident">str</span><span class="op">&gt;</span> {
<span class="comment">// access session data</span>
<span class="kw">if</span> <span class="kw">let</span> <span class="prelude-val">Some</span>(<span class="ident">count</span>) <span class="op">=</span> <span class="ident">req</span>.<span class="ident">session</span>().<span class="ident">get</span>::<span class="op">&lt;</span><span class="ident">i32</span><span class="op">&gt;</span>(<span class="string">&quot;counter&quot;</span>)<span class="question-mark">?</span> {
<span class="ident">req</span>.<span class="ident">session</span>().<span class="ident">set</span>(<span class="string">&quot;counter&quot;</span>, <span class="ident">count</span> <span class="op">+</span> <span class="number">1</span>)<span class="question-mark">?</span>;
} <span class="kw">else</span> {
<span class="ident">req</span>.<span class="ident">session</span>().<span class="ident">set</span>(<span class="string">&quot;counter&quot;</span>, <span class="number">1</span>)<span class="question-mark">?</span>;
}
<span class="prelude-val">Ok</span>(<span class="string">&quot;Welcome!&quot;</span>)
}</pre>
</div>
<h2 id='required-methods' class='small-section-header'>
Required Methods<a href='#required-methods' class='anchor'></a>
</h2>
<div class='methods'>
<h3 id='tymethod.session' class='method'><span id='session.v' class='invisible'><code>fn <a href='#tymethod.session' class='fnname'>session</a>(&amp;self) -&gt; <a class="struct" href="../../../actix_web/middleware/session/struct.Session.html" title="struct actix_web::middleware::session::Session">Session</a></code></span></h3><div class='docblock'><p>Get the session from the request</p>
</div></div>
<h2 id='implementors' class='small-section-header'>
Implementors<a href='#implementors' class='anchor'></a>
</h2>
<ul class='item-list' id='implementors-list'>
<li><table class='table-display'><tbody><tr><td><code>impl&lt;S&gt; RequestSession for <a class="struct" href="../../../actix_web/struct.HttpRequest.html" title="struct actix_web::HttpRequest">HttpRequest</a>&lt;S&gt;</code><td><div class='out-of-band'><a class='srclink' href='../../../src/actix_web/middleware/session.rs.html#110-117' title='goto source code'>[src]</a></div></td></tr></tbody></table></li>
</ul><script type="text/javascript">window.inlined_types=new Set([]);</script><script type="text/javascript" async
src="../../../implementors/actix_web/middleware/session/trait.RequestSession.js">
</script></section><section id="search" class="content hidden"></section><section class="footer"></section><aside id="help" class="hidden"><div><h1 class="hidden">Help</h1><div class="shortcuts"><h2>Keyboard Shortcuts</h2><dl><dt><kbd>?</kbd></dt><dd>Show this help dialog</dd><dt><kbd>S</kbd></dt><dd>Focus the search field</dd><dt><kbd></kbd></dt><dd>Move up in search results</dd><dt><kbd></kbd></dt><dd>Move down in search results</dd><dt><kbd></kbd></dt><dd>Switch tab</dd><dt><kbd>&#9166;</kbd></dt><dd>Go to active search result</dd><dt><kbd>+</kbd></dt><dd>Expand all sections</dd><dt><kbd>-</kbd></dt><dd>Collapse all sections</dd></dl></div><div class="infos"><h2>Search Tricks</h2><p>Prefix searches with a type followed by a colon (e.g. <code>fn:</code>) to restrict the search to a given type.</p><p>Accepted types are: <code>fn</code>, <code>mod</code>, <code>struct</code>, <code>enum</code>, <code>trait</code>, <code>type</code>, <code>macro</code>, and <code>const</code>.</p><p>Search functions by type signature (e.g. <code>vec -> usize</code> or <code>* -> vec</code>)</p><p>Search multiple things at once by splitting your query with comma (e.g. <code>str,u8</code> or <code>String,struct:Vec,test</code>)</p></div></div></aside><script>window.rootPath = "../../../";window.currentCrate = "actix_web";</script><script src="../../../aliases.js"></script><script src="../../../main.js"></script><script defer src="../../../search-index.js"></script></body></html>