Files
mercator_service/actix_http/cookie/struct.CookieJar.html

246 lines
57 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!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 `CookieJar` struct in crate `actix_http`."><meta name="keywords" content="rust, rustlang, rust-lang, CookieJar"><title>actix_http::cookie::CookieJar - 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><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="shortcut icon" href="../../favicon.ico"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></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><a href='../../actix_http/index.html'><div class='logo-container'><img src='../../rust-logo.png' alt='logo'></div></a><p class='location'>Struct CookieJar</p><div class="sidebar-elems"><div class="block items"><a class="sidebar-title" href="#methods">Methods</a><div class="sidebar-links"><a href="#method.add">add</a><a href="#method.add_original">add_original</a><a href="#method.clear">clear</a><a href="#method.delta">delta</a><a href="#method.force_remove">force_remove</a><a href="#method.get">get</a><a href="#method.iter">iter</a><a href="#method.new">new</a><a href="#method.remove">remove</a></div><a class="sidebar-title" href="#implementations">Trait Implementations</a><div class="sidebar-links"><a href="#impl-Clone">Clone</a><a href="#impl-Debug">Debug</a><a href="#impl-Default">Default</a></div><a class="sidebar-title" href="#synthetic-implementations">Auto Trait Implementations</a><div class="sidebar-links"><a href="#impl-RefUnwindSafe">RefUnwindSafe</a><a href="#impl-Send">Send</a><a href="#impl-Sync">Sync</a><a href="#impl-Unpin">Unpin</a><a href="#impl-UnwindSafe">UnwindSafe</a></div><a class="sidebar-title" href="#blanket-implementations">Blanket Implementations</a><div class="sidebar-links"><a href="#impl-Any">Any</a><a href="#impl-Borrow%3CT%3E">Borrow&lt;T&gt;</a><a href="#impl-BorrowMut%3CT%3E">BorrowMut&lt;T&gt;</a><a href="#impl-From%3CT%3E">From&lt;T&gt;</a><a href="#impl-Into%3CU%3E">Into&lt;U&gt;</a><a href="#impl-ToOwned">ToOwned</a><a href="#impl-TryFrom%3CU%3E">TryFrom&lt;U&gt;</a><a href="#impl-TryInto%3CU%3E">TryInto&lt;U&gt;</a><a href="#impl-VZip%3CV%3E">VZip&lt;V&gt;</a></div></div><p class='location'><a href='../index.html'>actix_http</a>::<wbr><a href='index.html'>cookie</a></p><script>window.sidebarCurrent = {name: 'CookieJar', 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"><div class="search-container"><div><select id="crate-search"><option value="All crates">All crates</option></select><input class="search-input" name="search" disabled autocomplete="off" spellcheck="false" placeholder="Click or press S to search, ? for more options…" type="search"></div><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='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_http/cookie/jar.rs.html#84-87' title='goto source code'>[src]</a></span><span class='in-band'>Struct <a href='../index.html'>actix_http</a>::<wbr><a href='index.html'>cookie</a>::<wbr><a class="struct" href=''>CookieJar</a></span></h1><div class="docblock type-decl hidden-by-usual-hider"><pre class='rust struct'>pub struct CookieJar { /* fields omitted */ }</pre></div><div class='docblock'><p>A collection of cookies that tracks its modifications.</p>
<p>A <code>CookieJar</code> provides storage for any number of cookies. Any changes made
to the jar are tracked; the changes can be retrieved via the
<a href="#method.delta">delta</a> method which returns an interator over the changes.</p>
<h1 id="usage" class="section-header"><a href="#usage">Usage</a></h1>
<p>A jar's life begins via <a href="#method.new">new</a> and calls to
<a href="#method.add_original"><code>add_original</code></a>:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">actix_http</span>::<span class="ident">cookie</span>::{<span class="ident">Cookie</span>, <span class="ident">CookieJar</span>};
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">jar</span> <span class="op">=</span> <span class="ident">CookieJar</span>::<span class="ident">new</span>();
<span class="ident">jar</span>.<span class="ident">add_original</span>(<span class="ident">Cookie</span>::<span class="ident">new</span>(<span class="string">&quot;name&quot;</span>, <span class="string">&quot;value&quot;</span>));
<span class="ident">jar</span>.<span class="ident">add_original</span>(<span class="ident">Cookie</span>::<span class="ident">new</span>(<span class="string">&quot;second&quot;</span>, <span class="string">&quot;another&quot;</span>));</pre></div>
<p>Cookies can be added via <a href="#method.add">add</a> and removed via
<a href="#method.remove">remove</a>. Finally, cookies can be looked up via
<a href="#method.get">get</a>:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered">
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">jar</span> <span class="op">=</span> <span class="ident">CookieJar</span>::<span class="ident">new</span>();
<span class="ident">jar</span>.<span class="ident">add</span>(<span class="ident">Cookie</span>::<span class="ident">new</span>(<span class="string">&quot;a&quot;</span>, <span class="string">&quot;one&quot;</span>));
<span class="ident">jar</span>.<span class="ident">add</span>(<span class="ident">Cookie</span>::<span class="ident">new</span>(<span class="string">&quot;b&quot;</span>, <span class="string">&quot;two&quot;</span>));
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">jar</span>.<span class="ident">get</span>(<span class="string">&quot;a&quot;</span>).<span class="ident">map</span>(<span class="op">|</span><span class="ident">c</span><span class="op">|</span> <span class="ident">c</span>.<span class="ident">value</span>()), <span class="prelude-val">Some</span>(<span class="string">&quot;one&quot;</span>));
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">jar</span>.<span class="ident">get</span>(<span class="string">&quot;b&quot;</span>).<span class="ident">map</span>(<span class="op">|</span><span class="ident">c</span><span class="op">|</span> <span class="ident">c</span>.<span class="ident">value</span>()), <span class="prelude-val">Some</span>(<span class="string">&quot;two&quot;</span>));
<span class="ident">jar</span>.<span class="ident">remove</span>(<span class="ident">Cookie</span>::<span class="ident">named</span>(<span class="string">&quot;b&quot;</span>));
<span class="macro">assert</span><span class="macro">!</span>(<span class="ident">jar</span>.<span class="ident">get</span>(<span class="string">&quot;b&quot;</span>).<span class="ident">is_none</span>());</pre></div>
<h1 id="deltas" class="section-header"><a href="#deltas">Deltas</a></h1>
<p>A jar keeps track of any modifications made to it over time. The
modifications are recorded as cookies. The modifications can be retrieved
via <a href="#method.delta">delta</a>. Any new <code>Cookie</code> added to a jar via <code>add</code>
results in the same <code>Cookie</code> appearing in the <code>delta</code>; cookies added via
<code>add_original</code> do not count towards the delta. Any <em>original</em> cookie that is
removed from a jar results in a &quot;removal&quot; cookie appearing in the delta. A
&quot;removal&quot; cookie is a cookie that a server sends so that the cookie is
removed from the client's machine.</p>
<p>Deltas are typically used to create <code>Set-Cookie</code> headers corresponding to
the changes made to a cookie jar over a period of time.</p>
<div class="example-wrap"><pre class="rust rust-example-rendered">
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">jar</span> <span class="op">=</span> <span class="ident">CookieJar</span>::<span class="ident">new</span>();
<span class="comment">// original cookies don&#39;t affect the delta</span>
<span class="ident">jar</span>.<span class="ident">add_original</span>(<span class="ident">Cookie</span>::<span class="ident">new</span>(<span class="string">&quot;original&quot;</span>, <span class="string">&quot;value&quot;</span>));
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">jar</span>.<span class="ident">delta</span>().<span class="ident">count</span>(), <span class="number">0</span>);
<span class="comment">// new cookies result in an equivalent `Cookie` in the delta</span>
<span class="ident">jar</span>.<span class="ident">add</span>(<span class="ident">Cookie</span>::<span class="ident">new</span>(<span class="string">&quot;a&quot;</span>, <span class="string">&quot;one&quot;</span>));
<span class="ident">jar</span>.<span class="ident">add</span>(<span class="ident">Cookie</span>::<span class="ident">new</span>(<span class="string">&quot;b&quot;</span>, <span class="string">&quot;two&quot;</span>));
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">jar</span>.<span class="ident">delta</span>().<span class="ident">count</span>(), <span class="number">2</span>);
<span class="comment">// removing an original cookie adds a &quot;removal&quot; cookie to the delta</span>
<span class="ident">jar</span>.<span class="ident">remove</span>(<span class="ident">Cookie</span>::<span class="ident">named</span>(<span class="string">&quot;original&quot;</span>));
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">jar</span>.<span class="ident">delta</span>().<span class="ident">count</span>(), <span class="number">3</span>);
<span class="comment">// removing a new cookie that was added removes that `Cookie` from the delta</span>
<span class="ident">jar</span>.<span class="ident">remove</span>(<span class="ident">Cookie</span>::<span class="ident">named</span>(<span class="string">&quot;a&quot;</span>));
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">jar</span>.<span class="ident">delta</span>().<span class="ident">count</span>(), <span class="number">2</span>);</pre></div>
</div><h2 id='methods' class='small-section-header'>Methods<a href='#methods' class='anchor'></a></h2><h3 id='impl' class='impl'><code class='in-band'>impl <a class="struct" href="../../actix_http/cookie/struct.CookieJar.html" title="struct actix_http::cookie::CookieJar">CookieJar</a></code><a href='#impl' class='anchor'></a><a class='srclink' href='../../src/actix_http/cookie/jar.rs.html#89-430' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.new' class="method"><code id='new.v'>pub fn <a href='#method.new' class='fnname'>new</a>() -&gt; <a class="struct" href="../../actix_http/cookie/struct.CookieJar.html" title="struct actix_http::cookie::CookieJar">CookieJar</a></code><a class='srclink' href='../../src/actix_http/cookie/jar.rs.html#100-102' title='goto source code'>[src]</a></h4><div class='docblock'><p>Creates an empty cookie jar.</p>
<h1 id="example" class="section-header"><a href="#example">Example</a></h1>
<div class="example-wrap"><pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">actix_http</span>::<span class="ident">cookie</span>::<span class="ident">CookieJar</span>;
<span class="kw">let</span> <span class="ident">jar</span> <span class="op">=</span> <span class="ident">CookieJar</span>::<span class="ident">new</span>();
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">jar</span>.<span class="ident">iter</span>().<span class="ident">count</span>(), <span class="number">0</span>);</pre></div>
</div><h4 id='method.get' class="method"><code id='get.v'>pub fn <a href='#method.get' class='fnname'>get</a>(&amp;self, name: &amp;<a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.str.html">str</a>) -&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;<a class="struct" href="../../actix_http/cookie/struct.Cookie.html" title="struct actix_http::cookie::Cookie">Cookie</a>&lt;'static&gt;&gt;</code><a class='srclink' href='../../src/actix_http/cookie/jar.rs.html#118-123' title='goto source code'>[src]</a></h4><div class='docblock'><p>Returns a reference to the <code>Cookie</code> inside this jar with the name
<code>name</code>. If no such cookie exists, returns <code>None</code>.</p>
<h1 id="example-1" class="section-header"><a href="#example-1">Example</a></h1>
<div class="example-wrap"><pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">actix_http</span>::<span class="ident">cookie</span>::{<span class="ident">CookieJar</span>, <span class="ident">Cookie</span>};
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">jar</span> <span class="op">=</span> <span class="ident">CookieJar</span>::<span class="ident">new</span>();
<span class="macro">assert</span><span class="macro">!</span>(<span class="ident">jar</span>.<span class="ident">get</span>(<span class="string">&quot;name&quot;</span>).<span class="ident">is_none</span>());
<span class="ident">jar</span>.<span class="ident">add</span>(<span class="ident">Cookie</span>::<span class="ident">new</span>(<span class="string">&quot;name&quot;</span>, <span class="string">&quot;value&quot;</span>));
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">jar</span>.<span class="ident">get</span>(<span class="string">&quot;name&quot;</span>).<span class="ident">map</span>(<span class="op">|</span><span class="ident">c</span><span class="op">|</span> <span class="ident">c</span>.<span class="ident">value</span>()), <span class="prelude-val">Some</span>(<span class="string">&quot;value&quot;</span>));</pre></div>
</div><h4 id='method.add_original' class="method"><code id='add_original.v'>pub fn <a href='#method.add_original' class='fnname'>add_original</a>(&amp;mut self, cookie: <a class="struct" href="../../actix_http/cookie/struct.Cookie.html" title="struct actix_http::cookie::Cookie">Cookie</a>&lt;'static&gt;)</code><a class='srclink' href='../../src/actix_http/cookie/jar.rs.html#150-152' title='goto source code'>[src]</a></h4><div class='docblock'><p>Adds an &quot;original&quot; <code>cookie</code> to this jar. If an original cookie with the
same name already exists, it is replaced with <code>cookie</code>. Cookies added
with <code>add</code> take precedence and are not replaced by this method.</p>
<p>Adding an original cookie does not affect the <a href="#method.delta">delta</a>
computation. This method is intended to be used to seed the cookie jar
with cookies received from a client's HTTP message.</p>
<p>For accurate <code>delta</code> computations, this method should not be called
after calling <code>remove</code>.</p>
<h1 id="example-2" class="section-header"><a href="#example-2">Example</a></h1>
<div class="example-wrap"><pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">actix_http</span>::<span class="ident">cookie</span>::{<span class="ident">CookieJar</span>, <span class="ident">Cookie</span>};
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">jar</span> <span class="op">=</span> <span class="ident">CookieJar</span>::<span class="ident">new</span>();
<span class="ident">jar</span>.<span class="ident">add_original</span>(<span class="ident">Cookie</span>::<span class="ident">new</span>(<span class="string">&quot;name&quot;</span>, <span class="string">&quot;value&quot;</span>));
<span class="ident">jar</span>.<span class="ident">add_original</span>(<span class="ident">Cookie</span>::<span class="ident">new</span>(<span class="string">&quot;second&quot;</span>, <span class="string">&quot;two&quot;</span>));
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">jar</span>.<span class="ident">get</span>(<span class="string">&quot;name&quot;</span>).<span class="ident">map</span>(<span class="op">|</span><span class="ident">c</span><span class="op">|</span> <span class="ident">c</span>.<span class="ident">value</span>()), <span class="prelude-val">Some</span>(<span class="string">&quot;value&quot;</span>));
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">jar</span>.<span class="ident">get</span>(<span class="string">&quot;second&quot;</span>).<span class="ident">map</span>(<span class="op">|</span><span class="ident">c</span><span class="op">|</span> <span class="ident">c</span>.<span class="ident">value</span>()), <span class="prelude-val">Some</span>(<span class="string">&quot;two&quot;</span>));
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">jar</span>.<span class="ident">iter</span>().<span class="ident">count</span>(), <span class="number">2</span>);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">jar</span>.<span class="ident">delta</span>().<span class="ident">count</span>(), <span class="number">0</span>);</pre></div>
</div><h4 id='method.add' class="method"><code id='add.v'>pub fn <a href='#method.add' class='fnname'>add</a>(&amp;mut self, cookie: <a class="struct" href="../../actix_http/cookie/struct.Cookie.html" title="struct actix_http::cookie::Cookie">Cookie</a>&lt;'static&gt;)</code><a class='srclink' href='../../src/actix_http/cookie/jar.rs.html#171-173' title='goto source code'>[src]</a></h4><div class='docblock'><p>Adds <code>cookie</code> to this jar. If a cookie with the same name already
exists, it is replaced with <code>cookie</code>.</p>
<h1 id="example-3" class="section-header"><a href="#example-3">Example</a></h1>
<div class="example-wrap"><pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">actix_http</span>::<span class="ident">cookie</span>::{<span class="ident">CookieJar</span>, <span class="ident">Cookie</span>};
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">jar</span> <span class="op">=</span> <span class="ident">CookieJar</span>::<span class="ident">new</span>();
<span class="ident">jar</span>.<span class="ident">add</span>(<span class="ident">Cookie</span>::<span class="ident">new</span>(<span class="string">&quot;name&quot;</span>, <span class="string">&quot;value&quot;</span>));
<span class="ident">jar</span>.<span class="ident">add</span>(<span class="ident">Cookie</span>::<span class="ident">new</span>(<span class="string">&quot;second&quot;</span>, <span class="string">&quot;two&quot;</span>));
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">jar</span>.<span class="ident">get</span>(<span class="string">&quot;name&quot;</span>).<span class="ident">map</span>(<span class="op">|</span><span class="ident">c</span><span class="op">|</span> <span class="ident">c</span>.<span class="ident">value</span>()), <span class="prelude-val">Some</span>(<span class="string">&quot;value&quot;</span>));
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">jar</span>.<span class="ident">get</span>(<span class="string">&quot;second&quot;</span>).<span class="ident">map</span>(<span class="op">|</span><span class="ident">c</span><span class="op">|</span> <span class="ident">c</span>.<span class="ident">value</span>()), <span class="prelude-val">Some</span>(<span class="string">&quot;two&quot;</span>));
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">jar</span>.<span class="ident">iter</span>().<span class="ident">count</span>(), <span class="number">2</span>);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">jar</span>.<span class="ident">delta</span>().<span class="ident">count</span>(), <span class="number">2</span>);</pre></div>
</div><h4 id='method.remove' class="method"><code id='remove.v'>pub fn <a href='#method.remove' class='fnname'>remove</a>(&amp;mut self, cookie: <a class="struct" href="../../actix_http/cookie/struct.Cookie.html" title="struct actix_http::cookie::Cookie">Cookie</a>&lt;'static&gt;)</code><a class='srclink' href='../../src/actix_http/cookie/jar.rs.html#222-231' title='goto source code'>[src]</a></h4><div class='docblock'><p>Removes <code>cookie</code> from this jar. If an <em>original</em> cookie with the same
name as <code>cookie</code> is present in the jar, a <em>removal</em> cookie will be
present in the <code>delta</code> computation. To properly generate the removal
cookie, <code>cookie</code> must contain the same <code>path</code> and <code>domain</code> as the cookie
that was initially set.</p>
<p>A &quot;removal&quot; cookie is a cookie that has the same name as the original
cookie but has an empty value, a max-age of 0, and an expiration date
far in the past.</p>
<h1 id="example-4" class="section-header"><a href="#example-4">Example</a></h1>
<p>Removing an <em>original</em> cookie results in a <em>removal</em> cookie:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">actix_http</span>::<span class="ident">cookie</span>::{<span class="ident">CookieJar</span>, <span class="ident">Cookie</span>};
<span class="kw">use</span> <span class="ident">chrono</span>::<span class="ident">Duration</span>;
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">jar</span> <span class="op">=</span> <span class="ident">CookieJar</span>::<span class="ident">new</span>();
<span class="comment">// Assume this cookie originally had a path of &quot;/&quot; and domain of &quot;a.b&quot;.</span>
<span class="ident">jar</span>.<span class="ident">add_original</span>(<span class="ident">Cookie</span>::<span class="ident">new</span>(<span class="string">&quot;name&quot;</span>, <span class="string">&quot;value&quot;</span>));
<span class="comment">// If the path and domain were set, they must be provided to `remove`.</span>
<span class="ident">jar</span>.<span class="ident">remove</span>(<span class="ident">Cookie</span>::<span class="ident">build</span>(<span class="string">&quot;name&quot;</span>, <span class="string">&quot;&quot;</span>).<span class="ident">path</span>(<span class="string">&quot;/&quot;</span>).<span class="ident">domain</span>(<span class="string">&quot;a.b&quot;</span>).<span class="ident">finish</span>());
<span class="comment">// The delta will contain the removal cookie.</span>
<span class="kw">let</span> <span class="ident">delta</span>: <span class="ident">Vec</span><span class="op">&lt;</span><span class="kw">_</span><span class="op">&gt;</span> <span class="op">=</span> <span class="ident">jar</span>.<span class="ident">delta</span>().<span class="ident">collect</span>();
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">delta</span>.<span class="ident">len</span>(), <span class="number">1</span>);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">delta</span>[<span class="number">0</span>].<span class="ident">name</span>(), <span class="string">&quot;name&quot;</span>);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">delta</span>[<span class="number">0</span>].<span class="ident">max_age</span>(), <span class="prelude-val">Some</span>(<span class="ident">Duration</span>::<span class="ident">seconds</span>(<span class="number">0</span>)));</pre></div>
<p>Removing a new cookie does not result in a <em>removal</em> cookie:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">actix_http</span>::<span class="ident">cookie</span>::{<span class="ident">CookieJar</span>, <span class="ident">Cookie</span>};
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">jar</span> <span class="op">=</span> <span class="ident">CookieJar</span>::<span class="ident">new</span>();
<span class="ident">jar</span>.<span class="ident">add</span>(<span class="ident">Cookie</span>::<span class="ident">new</span>(<span class="string">&quot;name&quot;</span>, <span class="string">&quot;value&quot;</span>));
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">jar</span>.<span class="ident">delta</span>().<span class="ident">count</span>(), <span class="number">1</span>);
<span class="ident">jar</span>.<span class="ident">remove</span>(<span class="ident">Cookie</span>::<span class="ident">named</span>(<span class="string">&quot;name&quot;</span>));
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">jar</span>.<span class="ident">delta</span>().<span class="ident">count</span>(), <span class="number">0</span>);</pre></div>
</div><h4 id='method.force_remove' class="method"><code id='force_remove.v'>pub fn <a href='#method.force_remove' class='fnname'>force_remove</a>&lt;'a&gt;(&amp;mut self, cookie: <a class="struct" href="../../actix_http/cookie/struct.Cookie.html" title="struct actix_http::cookie::Cookie">Cookie</a>&lt;'a&gt;)</code><a class='srclink' href='../../src/actix_http/cookie/jar.rs.html#266-269' title='goto source code'>[src]</a></h4><div class='docblock'><p>Removes <code>cookie</code> from this jar completely. This method differs from
<code>remove</code> in that no delta cookie is created under any condition. Neither
the <code>delta</code> nor <code>iter</code> methods will return a cookie that is removed
using this method.</p>
<h1 id="example-5" class="section-header"><a href="#example-5">Example</a></h1>
<p>Removing an <em>original</em> cookie; no <em>removal</em> cookie is generated:</p>
<div class="example-wrap"><pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">actix_http</span>::<span class="ident">cookie</span>::{<span class="ident">CookieJar</span>, <span class="ident">Cookie</span>};
<span class="kw">use</span> <span class="ident">chrono</span>::<span class="ident">Duration</span>;
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">jar</span> <span class="op">=</span> <span class="ident">CookieJar</span>::<span class="ident">new</span>();
<span class="comment">// Add an original cookie and a new cookie.</span>
<span class="ident">jar</span>.<span class="ident">add_original</span>(<span class="ident">Cookie</span>::<span class="ident">new</span>(<span class="string">&quot;name&quot;</span>, <span class="string">&quot;value&quot;</span>));
<span class="ident">jar</span>.<span class="ident">add</span>(<span class="ident">Cookie</span>::<span class="ident">new</span>(<span class="string">&quot;key&quot;</span>, <span class="string">&quot;value&quot;</span>));
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">jar</span>.<span class="ident">delta</span>().<span class="ident">count</span>(), <span class="number">1</span>);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">jar</span>.<span class="ident">iter</span>().<span class="ident">count</span>(), <span class="number">2</span>);
<span class="comment">// Now force remove the original cookie.</span>
<span class="ident">jar</span>.<span class="ident">force_remove</span>(<span class="ident">Cookie</span>::<span class="ident">new</span>(<span class="string">&quot;name&quot;</span>, <span class="string">&quot;value&quot;</span>));
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">jar</span>.<span class="ident">delta</span>().<span class="ident">count</span>(), <span class="number">1</span>);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">jar</span>.<span class="ident">iter</span>().<span class="ident">count</span>(), <span class="number">1</span>);
<span class="comment">// Now force remove the new cookie.</span>
<span class="ident">jar</span>.<span class="ident">force_remove</span>(<span class="ident">Cookie</span>::<span class="ident">new</span>(<span class="string">&quot;key&quot;</span>, <span class="string">&quot;value&quot;</span>));
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">jar</span>.<span class="ident">delta</span>().<span class="ident">count</span>(), <span class="number">0</span>);
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">jar</span>.<span class="ident">iter</span>().<span class="ident">count</span>(), <span class="number">0</span>);</pre></div>
</div><h4 id='method.clear' class="method"><code id='clear.v'>pub fn <a href='#method.clear' class='fnname'>clear</a>(&amp;mut self)</code><a class='srclink' href='../../src/actix_http/cookie/jar.rs.html#278-283' title='goto source code'>[src]</a></h4><div class='stability'><div class='stab deprecated'>Deprecated since 0.7.0: <p>calling this method may not remove all cookies since the path and domain are not specified; use <code>remove</code> instead</p>
</div></div><div class='docblock'><p>Removes all cookies from this cookie jar.</p>
</div><h4 id='method.delta' class="method"><code id='delta.v'>pub fn <a href='#method.delta' class='fnname'>delta</a>(&amp;self) -&gt; <a class="struct" href="../../actix_http/cookie/struct.Delta.html" title="struct actix_http::cookie::Delta">Delta</a></code><a class='srclink' href='../../src/actix_http/cookie/jar.rs.html#310-314' title='goto source code'>[src]</a></h4><div class='docblock'><p>Returns an iterator over cookies that represent the changes to this jar
over time. These cookies can be rendered directly as <code>Set-Cookie</code> header
values to affect the changes made to this jar on the client.</p>
<h1 id="example-6" class="section-header"><a href="#example-6">Example</a></h1>
<div class="example-wrap"><pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">actix_http</span>::<span class="ident">cookie</span>::{<span class="ident">CookieJar</span>, <span class="ident">Cookie</span>};
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">jar</span> <span class="op">=</span> <span class="ident">CookieJar</span>::<span class="ident">new</span>();
<span class="ident">jar</span>.<span class="ident">add_original</span>(<span class="ident">Cookie</span>::<span class="ident">new</span>(<span class="string">&quot;name&quot;</span>, <span class="string">&quot;value&quot;</span>));
<span class="ident">jar</span>.<span class="ident">add_original</span>(<span class="ident">Cookie</span>::<span class="ident">new</span>(<span class="string">&quot;second&quot;</span>, <span class="string">&quot;two&quot;</span>));
<span class="comment">// Add new cookies.</span>
<span class="ident">jar</span>.<span class="ident">add</span>(<span class="ident">Cookie</span>::<span class="ident">new</span>(<span class="string">&quot;new&quot;</span>, <span class="string">&quot;third&quot;</span>));
<span class="ident">jar</span>.<span class="ident">add</span>(<span class="ident">Cookie</span>::<span class="ident">new</span>(<span class="string">&quot;another&quot;</span>, <span class="string">&quot;fourth&quot;</span>));
<span class="ident">jar</span>.<span class="ident">add</span>(<span class="ident">Cookie</span>::<span class="ident">new</span>(<span class="string">&quot;yac&quot;</span>, <span class="string">&quot;fifth&quot;</span>));
<span class="comment">// Remove some cookies.</span>
<span class="ident">jar</span>.<span class="ident">remove</span>(<span class="ident">Cookie</span>::<span class="ident">named</span>(<span class="string">&quot;name&quot;</span>));
<span class="ident">jar</span>.<span class="ident">remove</span>(<span class="ident">Cookie</span>::<span class="ident">named</span>(<span class="string">&quot;another&quot;</span>));
<span class="comment">// Delta contains two new cookies (&quot;new&quot;, &quot;yac&quot;) and a removal (&quot;name&quot;).</span>
<span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">jar</span>.<span class="ident">delta</span>().<span class="ident">count</span>(), <span class="number">3</span>);</pre></div>
</div><h4 id='method.iter' class="method"><code id='iter.v'>pub fn <a href='#method.iter' class='fnname'>iter</a>(&amp;self) -&gt; <a class="struct" href="../../actix_http/cookie/struct.Iter.html" title="struct actix_http::cookie::Iter">Iter</a></code><a class='srclink' href='../../src/actix_http/cookie/jar.rs.html#346-353' title='goto source code'>[src]</a></h4><div class='docblock'><p>Returns an iterator over all of the cookies present in this jar.</p>
<h1 id="example-7" class="section-header"><a href="#example-7">Example</a></h1>
<div class="example-wrap"><pre class="rust rust-example-rendered">
<span class="kw">use</span> <span class="ident">actix_http</span>::<span class="ident">cookie</span>::{<span class="ident">CookieJar</span>, <span class="ident">Cookie</span>};
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">jar</span> <span class="op">=</span> <span class="ident">CookieJar</span>::<span class="ident">new</span>();
<span class="ident">jar</span>.<span class="ident">add_original</span>(<span class="ident">Cookie</span>::<span class="ident">new</span>(<span class="string">&quot;name&quot;</span>, <span class="string">&quot;value&quot;</span>));
<span class="ident">jar</span>.<span class="ident">add_original</span>(<span class="ident">Cookie</span>::<span class="ident">new</span>(<span class="string">&quot;second&quot;</span>, <span class="string">&quot;two&quot;</span>));
<span class="ident">jar</span>.<span class="ident">add</span>(<span class="ident">Cookie</span>::<span class="ident">new</span>(<span class="string">&quot;new&quot;</span>, <span class="string">&quot;third&quot;</span>));
<span class="ident">jar</span>.<span class="ident">add</span>(<span class="ident">Cookie</span>::<span class="ident">new</span>(<span class="string">&quot;another&quot;</span>, <span class="string">&quot;fourth&quot;</span>));
<span class="ident">jar</span>.<span class="ident">add</span>(<span class="ident">Cookie</span>::<span class="ident">new</span>(<span class="string">&quot;yac&quot;</span>, <span class="string">&quot;fifth&quot;</span>));
<span class="ident">jar</span>.<span class="ident">remove</span>(<span class="ident">Cookie</span>::<span class="ident">named</span>(<span class="string">&quot;name&quot;</span>));
<span class="ident">jar</span>.<span class="ident">remove</span>(<span class="ident">Cookie</span>::<span class="ident">named</span>(<span class="string">&quot;another&quot;</span>));
<span class="comment">// There are three cookies in the jar: &quot;second&quot;, &quot;new&quot;, and &quot;yac&quot;.</span>
<span class="kw">for</span> <span class="ident">cookie</span> <span class="kw">in</span> <span class="ident">jar</span>.<span class="ident">iter</span>() {
<span class="kw">match</span> <span class="ident">cookie</span>.<span class="ident">name</span>() {
<span class="string">&quot;second&quot;</span> <span class="op">=</span><span class="op">&gt;</span> <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">cookie</span>.<span class="ident">value</span>(), <span class="string">&quot;two&quot;</span>),
<span class="string">&quot;new&quot;</span> <span class="op">=</span><span class="op">&gt;</span> <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">cookie</span>.<span class="ident">value</span>(), <span class="string">&quot;third&quot;</span>),
<span class="string">&quot;yac&quot;</span> <span class="op">=</span><span class="op">&gt;</span> <span class="macro">assert_eq</span><span class="macro">!</span>(<span class="ident">cookie</span>.<span class="ident">value</span>(), <span class="string">&quot;fifth&quot;</span>),
<span class="kw">_</span> <span class="op">=</span><span class="op">&gt;</span> <span class="macro">unreachable</span><span class="macro">!</span>(<span class="string">&quot;there are only three cookies in the jar&quot;</span>)
}
}</pre></div>
</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-Clone' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a> for <a class="struct" href="../../actix_http/cookie/struct.CookieJar.html" title="struct actix_http::cookie::CookieJar">CookieJar</a></code><a href='#impl-Clone' class='anchor'></a><a class='srclink' href='../../src/actix_http/cookie/jar.rs.html#83' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.clone' class="method hidden"><code id='clone.v'>fn <a href='https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone' class='fnname'>clone</a>(&amp;self) -&gt; <a class="struct" href="../../actix_http/cookie/struct.CookieJar.html" title="struct actix_http::cookie::CookieJar">CookieJar</a></code><a class='srclink' href='../../src/actix_http/cookie/jar.rs.html#83' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Returns a copy of the value. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#tymethod.clone">Read more</a></p>
</div><h4 id='method.clone_from' class="method hidden"><code id='clone_from.v'>fn <a href='https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from' class='fnname'>clone_from</a>(&amp;mut self, source: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;</a>Self)</code><span class='since' title='Stable since Rust version 1.0.0'>1.0.0</span><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/clone.rs.html#131-133' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Performs copy-assignment from <code>source</code>. <a href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html#method.clone_from">Read more</a></p>
</div></div><h3 id='impl-Debug' class='impl'><code class='in-band'>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="struct" href="../../actix_http/cookie/struct.CookieJar.html" title="struct actix_http::cookie::CookieJar">CookieJar</a></code><a href='#impl-Debug' class='anchor'></a><a class='srclink' href='../../src/actix_http/cookie/jar.rs.html#83' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.fmt' class="method hidden"><code id='fmt.v'>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><a class='srclink' href='../../src/actix_http/cookie/jar.rs.html#83' title='goto source code'>[src]</a></h4><div class='docblock hidden'><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-Default' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html" title="trait core::default::Default">Default</a> for <a class="struct" href="../../actix_http/cookie/struct.CookieJar.html" title="struct actix_http::cookie::CookieJar">CookieJar</a></code><a href='#impl-Default' class='anchor'></a><a class='srclink' href='../../src/actix_http/cookie/jar.rs.html#83' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.default' class="method hidden"><code id='default.v'>fn <a href='https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default' class='fnname'>default</a>() -&gt; <a class="struct" href="../../actix_http/cookie/struct.CookieJar.html" title="struct actix_http::cookie::CookieJar">CookieJar</a></code><a class='srclink' href='../../src/actix_http/cookie/jar.rs.html#83' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Returns the &quot;default value&quot; for a type. <a href="https://doc.rust-lang.org/nightly/core/default/trait.Default.html#tymethod.default">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-RefUnwindSafe' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.RefUnwindSafe.html" title="trait std::panic::RefUnwindSafe">RefUnwindSafe</a> for <a class="struct" href="../../actix_http/cookie/struct.CookieJar.html" title="struct actix_http::cookie::CookieJar">CookieJar</a></code><a href='#impl-RefUnwindSafe' class='anchor'></a></h3><div class='impl-items'></div><h3 id='impl-Send' class='impl'><code class='in-band'>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_http/cookie/struct.CookieJar.html" title="struct actix_http::cookie::CookieJar">CookieJar</a></code><a href='#impl-Send' class='anchor'></a></h3><div class='impl-items'></div><h3 id='impl-Sync' class='impl'><code class='in-band'>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_http/cookie/struct.CookieJar.html" title="struct actix_http::cookie::CookieJar">CookieJar</a></code><a href='#impl-Sync' class='anchor'></a></h3><div class='impl-items'></div><h3 id='impl-Unpin' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Unpin.html" title="trait core::marker::Unpin">Unpin</a> for <a class="struct" href="../../actix_http/cookie/struct.CookieJar.html" title="struct actix_http::cookie::CookieJar">CookieJar</a></code><a href='#impl-Unpin' class='anchor'></a></h3><div class='impl-items'></div><h3 id='impl-UnwindSafe' class='impl'><code class='in-band'>impl <a class="trait" href="https://doc.rust-lang.org/nightly/std/panic/trait.UnwindSafe.html" title="trait std::panic::UnwindSafe">UnwindSafe</a> for <a class="struct" href="../../actix_http/cookie/struct.CookieJar.html" title="struct actix_http::cookie::CookieJar">CookieJar</a></code><a href='#impl-UnwindSafe' class='anchor'></a></h3><div class='impl-items'></div></div><h2 id='blanket-implementations' class='small-section-header'>Blanket Implementations<a href='#blanket-implementations' class='anchor'></a></h2><div id='blanket-implementations-list'><h3 id='impl-Any' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html" title="trait core::any::Any">Any</a> for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: 'static + ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a href='#impl-Any' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/any.rs.html#108-112' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.type_id' class="method hidden"><code id='type_id.v'>fn <a href='https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id' class='fnname'>type_id</a>(&amp;self) -&gt; <a class="struct" href="https://doc.rust-lang.org/nightly/core/any/struct.TypeId.html" title="struct core::any::TypeId">TypeId</a></code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/any.rs.html#109-111' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Gets the <code>TypeId</code> of <code>self</code>. <a href="https://doc.rust-lang.org/nightly/core/any/trait.Any.html#tymethod.type_id">Read more</a></p>
</div></div><h3 id='impl-Borrow%3CT%3E' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html" title="trait core::borrow::Borrow">Borrow</a>&lt;T&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a href='#impl-Borrow%3CT%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#213-217' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.borrow' class="method hidden"><code id='borrow.v'>fn <a href='https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow' class='fnname'>borrow</a>(&amp;self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;</a>T</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#214-216' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Immutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.Borrow.html#tymethod.borrow">Read more</a></p>
</div></div><h3 id='impl-BorrowMut%3CT%3E' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html" title="trait core::borrow::BorrowMut">BorrowMut</a>&lt;T&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: ?<a class="trait" href="https://doc.rust-lang.org/nightly/core/marker/trait.Sized.html" title="trait core::marker::Sized">Sized</a>,&nbsp;</span></code><a href='#impl-BorrowMut%3CT%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#220-224' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.borrow_mut' class="method hidden"><code id='borrow_mut.v'>fn <a href='https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut' class='fnname'>borrow_mut</a>(&amp;mut self) -&gt; <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut </a>T</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/borrow.rs.html#221-223' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Mutably borrows from an owned value. <a href="https://doc.rust-lang.org/nightly/core/borrow/trait.BorrowMut.html#tymethod.borrow_mut">Read more</a></p>
</div></div><h3 id='impl-From%3CT%3E' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt; for T</code><a href='#impl-From%3CT%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#564-568' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.from' class="method hidden"><code id='from.v'>fn <a href='https://doc.rust-lang.org/nightly/core/convert/trait.From.html#tymethod.from' class='fnname'>from</a>(t: T) -&gt; T</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#565-567' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
</div></div><h3 id='impl-Into%3CU%3E' class='impl'><code class='in-band'>impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;U&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.From.html" title="trait core::convert::From">From</a>&lt;T&gt;,&nbsp;</span></code><a href='#impl-Into%3CU%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#553-560' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.into' class="method hidden"><code id='into.v'>fn <a href='https://doc.rust-lang.org/nightly/core/convert/trait.Into.html#tymethod.into' class='fnname'>into</a>(self) -&gt; U</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#557-559' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
</div></div><h3 id='impl-ToOwned' class='impl'><code class='in-band'>impl&lt;T&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html" title="trait alloc::borrow::ToOwned">ToOwned</a> for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;T: <a class="trait" href="https://doc.rust-lang.org/nightly/core/clone/trait.Clone.html" title="trait core::clone::Clone">Clone</a>,&nbsp;</span></code><a href='#impl-ToOwned' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#80-92' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='associatedtype.Owned' class="type"><code id='Owned.t'>type <a href='https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#associatedtype.Owned' class="type">Owned</a> = T</code></h4><div class='docblock'><p>The resulting type after obtaining ownership.</p>
</div><h4 id='method.to_owned' class="method hidden"><code id='to_owned.v'>fn <a href='https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned' class='fnname'>to_owned</a>(&amp;self) -&gt; T</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#85-87' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Creates owned data from borrowed data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#tymethod.to_owned">Read more</a></p>
</div><h4 id='method.clone_into' class="method hidden"><code id='clone_into.v'>fn <a href='https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into' class='fnname'>clone_into</a>(&amp;self, target: <a class="primitive" href="https://doc.rust-lang.org/nightly/std/primitive.reference.html">&amp;mut </a>T)</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/alloc/borrow.rs.html#89-91' title='goto source code'>[src]</a></h4><div class='stability hidden'><div class='stab unstable'><details><summary><span class='emoji'>🔬</span> This is a nightly-only experimental API. (<code>toowned_clone_into</code>)</summary><p>recently added</p>
</details></div></div><div class='docblock hidden'><p>Uses borrowed data to replace owned data, usually by cloning. <a href="https://doc.rust-lang.org/nightly/alloc/borrow/trait.ToOwned.html#method.clone_into">Read more</a></p>
</div></div><h3 id='impl-TryFrom%3CU%3E' class='impl'><code class='in-band'>impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.Into.html" title="trait core::convert::Into">Into</a>&lt;T&gt;,&nbsp;</span></code><a href='#impl-TryFrom%3CU%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#601-610' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='associatedtype.Error' class="type"><code id='Error.t'>type <a href='https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error' class="type">Error</a> = <a class="enum" href="https://doc.rust-lang.org/nightly/core/convert/enum.Infallible.html" title="enum core::convert::Infallible">Infallible</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
</div><h4 id='method.try_from' class="method hidden"><code id='try_from.v'>fn <a href='https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#tymethod.try_from' class='fnname'>try_from</a>(value: U) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;T, &lt;T as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;U&gt;&gt;::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#607-609' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
</div></div><h3 id='impl-TryInto%3CU%3E' class='impl'><code class='in-band'>impl&lt;T, U&gt; <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html" title="trait core::convert::TryInto">TryInto</a>&lt;U&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;U: <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;,&nbsp;</span></code><a href='#impl-TryInto%3CU%3E' class='anchor'></a><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#587-596' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='associatedtype.Error-1' class="type"><code id='Error.t-1'>type <a href='https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#associatedtype.Error' class="type">Error</a> = &lt;U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a></code></h4><div class='docblock'><p>The type returned in the event of a conversion error.</p>
</div><h4 id='method.try_into' class="method hidden"><code id='try_into.v'>fn <a href='https://doc.rust-lang.org/nightly/core/convert/trait.TryInto.html#tymethod.try_into' class='fnname'>try_into</a>(self) -&gt; <a class="enum" href="https://doc.rust-lang.org/nightly/core/result/enum.Result.html" title="enum core::result::Result">Result</a>&lt;U, &lt;U as <a class="trait" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html" title="trait core::convert::TryFrom">TryFrom</a>&lt;T&gt;&gt;::<a class="type" href="https://doc.rust-lang.org/nightly/core/convert/trait.TryFrom.html#associatedtype.Error" title="type core::convert::TryFrom::Error">Error</a>&gt;</code><a class='srclink' href='https://doc.rust-lang.org/nightly/src/core/convert/mod.rs.html#593-595' title='goto source code'>[src]</a></h4><div class='docblock hidden'><p>Performs the conversion.</p>
</div></div><h3 id='impl-VZip%3CV%3E' class='impl'><code class='in-band'>impl&lt;V, T&gt; <a class="trait" href="../../ppv_lite86/types/types/trait.VZip.html" title="trait ppv_lite86::types::types::VZip">VZip</a>&lt;V&gt; for T <span class="where fmt-newline">where<br>&nbsp;&nbsp;&nbsp;&nbsp;V: <a class="trait" href="../../ppv_lite86/types/types/trait.MultiLane.html" title="trait ppv_lite86::types::types::MultiLane">MultiLane</a>&lt;T&gt;,&nbsp;</span></code><a href='#impl-VZip%3CV%3E' class='anchor'></a><a class='srclink' href='../../src/ppv_lite86/types.rs.html#212-220' title='goto source code'>[src]</a></h3><div class='impl-items'><h4 id='method.vzip' class="method hidden"><code id='vzip.v'>fn <a href='../../ppv_lite86/types/types/trait.VZip.html#tymethod.vzip' class='fnname'>vzip</a>(self) -&gt; V</code><a class='srclink' href='../../src/ppv_lite86/types.rs.html#217-219' title='goto source code'>[src]</a></h4></div></div></section><section id="search" class="content hidden"></section><section class="footer"></section><script>window.rootPath = "../../";window.currentCrate = "actix_http";</script><script src="../../aliases.js"></script><script src="../../main.js"></script><script defer src="../../search-index.js"></script></body></html>