mirror of
https://github.com/actix/actix-extras.git
synced 2025-09-02 04:56:38 +02:00
Deploying to gh-pages from @ ddb74e6de0
🚀
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
<!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="Source of the Rust file `actix-identity/src/cookie.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>cookie.rs - source</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="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings" ></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../favicon.svg"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../actix_identity/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><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><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../../wheel.svg"></a></div></form></nav><section id="main" class="content"><div class="example-wrap"><pre class="line-numbers"><span id="1"> 1</span>
|
||||
<!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="Source of the Rust file `actix-identity/src/cookie.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>cookie.rs - source</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="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings" ></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../favicon.svg"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../actix_identity/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><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" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../../wheel.svg"></a></div></form></nav><section id="main" class="content"><div class="example-wrap"><pre class="line-numbers"><span id="1"> 1</span>
|
||||
<span id="2"> 2</span>
|
||||
<span id="3"> 3</span>
|
||||
<span id="4"> 4</span>
|
||||
@@ -887,7 +887,7 @@
|
||||
|
||||
<span class="kw">fn</span> <span class="ident">set_cookie</span><span class="op"><</span><span class="ident">B</span><span class="op">></span>(
|
||||
<span class="kw-2">&</span><span class="self">self</span>,
|
||||
<span class="ident">resp</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">ServiceResponse</span><span class="op"><</span><span class="ident">B</span><span class="op">></span>,
|
||||
<span class="ident">resp</span>: <span class="kw-2">&mut</span> <span class="ident">ServiceResponse</span><span class="op"><</span><span class="ident">B</span><span class="op">></span>,
|
||||
<span class="ident">value</span>: <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">CookieValue</span><span class="op">></span>,
|
||||
) -> <span class="prelude-ty">Result</span><span class="op"><</span>()<span class="op">></span> {
|
||||
<span class="kw">let</span> <span class="ident">add_cookie</span> <span class="op">=</span> <span class="ident">value</span>.<span class="ident">is_some</span>();
|
||||
@@ -1117,8 +1117,8 @@
|
||||
<span class="self">self</span>
|
||||
}
|
||||
|
||||
<span class="kw">fn</span> <span class="ident">inner_mut</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>) -> <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">CookieIdentityInner</span> {
|
||||
<span class="ident">Rc::get_mut</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="self">self</span>.<span class="number">0</span>).<span class="ident">unwrap</span>()
|
||||
<span class="kw">fn</span> <span class="ident">inner_mut</span>(<span class="kw-2">&mut</span> <span class="self">self</span>) -> <span class="kw-2">&mut</span> <span class="ident">CookieIdentityInner</span> {
|
||||
<span class="ident">Rc::get_mut</span>(<span class="kw-2">&mut</span> <span class="self">self</span>.<span class="number">0</span>).<span class="ident">unwrap</span>()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1126,7 +1126,7 @@
|
||||
<span class="kw">type</span> <span class="ident">Future</span> <span class="op">=</span> <span class="ident">Ready</span><span class="op"><</span><span class="prelude-ty">Result</span><span class="op"><</span><span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">String</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span><span class="op">></span>;
|
||||
<span class="kw">type</span> <span class="ident">ResponseFuture</span> <span class="op">=</span> <span class="ident">Ready</span><span class="op"><</span><span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">Error</span><span class="op">></span><span class="op">></span>;
|
||||
|
||||
<span class="kw">fn</span> <span class="ident">from_request</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">req</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">ServiceRequest</span>) -> <span class="ident"><span class="self">Self</span>::Future</span> {
|
||||
<span class="kw">fn</span> <span class="ident">from_request</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">req</span>: <span class="kw-2">&mut</span> <span class="ident">ServiceRequest</span>) -> <span class="ident"><span class="self">Self</span>::Future</span> {
|
||||
<span class="ident">ready</span>(<span class="prelude-val">Ok</span>(<span class="self">self</span>.<span class="number">0</span>.<span class="ident">load</span>(<span class="ident">req</span>).<span class="ident">map</span>(<span class="op">|</span><span class="ident">value</span><span class="op">|</span> {
|
||||
<span class="kw">let</span> <span class="ident">CookieValue</span> {
|
||||
<span class="ident">identity</span>,
|
||||
@@ -1147,7 +1147,7 @@
|
||||
<span class="kw-2">&</span><span class="self">self</span>,
|
||||
<span class="ident">id</span>: <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">String</span><span class="op">></span>,
|
||||
<span class="ident">changed</span>: <span class="ident">bool</span>,
|
||||
<span class="ident">res</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">ServiceResponse</span><span class="op"><</span><span class="ident">B</span><span class="op">></span>,
|
||||
<span class="ident">res</span>: <span class="kw-2">&mut</span> <span class="ident">ServiceResponse</span><span class="op"><</span><span class="ident">B</span><span class="op">></span>,
|
||||
) -> <span class="ident"><span class="self">Self</span>::ResponseFuture</span> {
|
||||
<span class="kw">let</span> <span class="kw">_</span> <span class="op">=</span> <span class="kw">if</span> <span class="ident">changed</span> {
|
||||
<span class="kw">let</span> <span class="ident">login_timestamp</span> <span class="op">=</span> <span class="ident">SystemTime::now</span>();
|
||||
@@ -1230,7 +1230,7 @@
|
||||
}
|
||||
|
||||
<span class="kw">fn</span> <span class="ident">assert_login_cookie</span>(
|
||||
<span class="ident">response</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">ServiceResponse</span>,
|
||||
<span class="ident">response</span>: <span class="kw-2">&mut</span> <span class="ident">ServiceResponse</span>,
|
||||
<span class="ident">identity</span>: <span class="kw-2">&</span><span class="ident">str</span>,
|
||||
<span class="ident">login_timestamp</span>: <span class="ident">LoginTimestampCheck</span>,
|
||||
<span class="ident">visit_timestamp</span>: <span class="ident">VisitTimeStampCheck</span>,
|
||||
@@ -1405,7 +1405,7 @@
|
||||
<span class="macro">assert_eq!</span>(<span class="ident">resp</span>.<span class="ident">as_ref</span>().<span class="ident">map</span>(<span class="op">|</span><span class="ident">s</span><span class="op">|</span> <span class="ident">s</span>.<span class="ident">borrow</span>()), <span class="ident">identity</span>);
|
||||
}
|
||||
|
||||
<span class="kw">fn</span> <span class="ident">assert_legacy_login_cookie</span>(<span class="ident">response</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">ServiceResponse</span>, <span class="ident">identity</span>: <span class="kw-2">&</span><span class="ident">str</span>) {
|
||||
<span class="kw">fn</span> <span class="ident">assert_legacy_login_cookie</span>(<span class="ident">response</span>: <span class="kw-2">&mut</span> <span class="ident">ServiceResponse</span>, <span class="ident">identity</span>: <span class="kw-2">&</span><span class="ident">str</span>) {
|
||||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">cookies</span> <span class="op">=</span> <span class="ident">CookieJar::new</span>();
|
||||
<span class="kw">for</span> <span class="ident">cookie</span> <span class="kw">in</span> <span class="ident">response</span>.<span class="ident">headers</span>().<span class="ident">get_all</span>(<span class="ident">header::SET_COOKIE</span>) {
|
||||
<span class="ident">cookies</span>.<span class="ident">add</span>(<span class="ident">Cookie::parse</span>(<span class="ident">cookie</span>.<span class="ident">to_str</span>().<span class="ident">unwrap</span>().<span class="ident">to_string</span>()).<span class="ident">unwrap</span>());
|
||||
@@ -1417,7 +1417,7 @@
|
||||
<span class="macro">assert_eq!</span>(<span class="ident">cookie</span>.<span class="ident">value</span>(), <span class="ident">identity</span>);
|
||||
}
|
||||
|
||||
<span class="kw">fn</span> <span class="ident">assert_no_login_cookie</span>(<span class="ident">response</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">ServiceResponse</span>) {
|
||||
<span class="kw">fn</span> <span class="ident">assert_no_login_cookie</span>(<span class="ident">response</span>: <span class="kw-2">&mut</span> <span class="ident">ServiceResponse</span>) {
|
||||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">cookies</span> <span class="op">=</span> <span class="ident">CookieJar::new</span>();
|
||||
<span class="kw">for</span> <span class="ident">cookie</span> <span class="kw">in</span> <span class="ident">response</span>.<span class="ident">headers</span>().<span class="ident">get_all</span>(<span class="ident">header::SET_COOKIE</span>) {
|
||||
<span class="ident">cookies</span>.<span class="ident">add</span>(<span class="ident">Cookie::parse</span>(<span class="ident">cookie</span>.<span class="ident">to_str</span>().<span class="ident">unwrap</span>().<span class="ident">to_string</span>()).<span class="ident">unwrap</span>());
|
||||
@@ -1455,7 +1455,7 @@
|
||||
<span class="kw">async</span> <span class="kw">fn</span> <span class="ident">test_identity_legacy_cookie_is_set</span>() {
|
||||
<span class="kw">let</span> <span class="ident">srv</span> <span class="op">=</span> <span class="ident">create_identity_server</span>(<span class="op">|</span><span class="ident">c</span><span class="op">|</span> <span class="ident">c</span>).<span class="kw">await</span>;
|
||||
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">resp</span> <span class="op">=</span> <span class="ident">test::call_service</span>(<span class="kw-2">&</span><span class="ident">srv</span>, <span class="ident">TestRequest::with_uri</span>(<span class="string">"/"</span>).<span class="ident">to_request</span>()).<span class="kw">await</span>;
|
||||
<span class="ident">assert_legacy_login_cookie</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">resp</span>, <span class="ident">COOKIE_LOGIN</span>);
|
||||
<span class="ident">assert_legacy_login_cookie</span>(<span class="kw-2">&mut</span> <span class="ident">resp</span>, <span class="ident">COOKIE_LOGIN</span>);
|
||||
<span class="ident">assert_logged_in</span>(<span class="ident">resp</span>, <span class="prelude-val">None</span>).<span class="kw">await</span>;
|
||||
}
|
||||
|
||||
@@ -1470,7 +1470,7 @@
|
||||
.<span class="ident">to_request</span>(),
|
||||
)
|
||||
.<span class="kw">await</span>;
|
||||
<span class="ident">assert_no_login_cookie</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">resp</span>);
|
||||
<span class="ident">assert_no_login_cookie</span>(<span class="kw-2">&mut</span> <span class="ident">resp</span>);
|
||||
<span class="ident">assert_logged_in</span>(<span class="ident">resp</span>, <span class="prelude-val">Some</span>(<span class="ident">COOKIE_LOGIN</span>)).<span class="kw">await</span>;
|
||||
}
|
||||
|
||||
@@ -1486,7 +1486,7 @@
|
||||
)
|
||||
.<span class="kw">await</span>;
|
||||
<span class="ident">assert_login_cookie</span>(
|
||||
<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">resp</span>,
|
||||
<span class="kw-2">&mut</span> <span class="ident">resp</span>,
|
||||
<span class="ident">COOKIE_LOGIN</span>,
|
||||
<span class="ident">LoginTimestampCheck::NoTimestamp</span>,
|
||||
<span class="ident">VisitTimeStampCheck::NewTimestamp</span>,
|
||||
@@ -1506,7 +1506,7 @@
|
||||
)
|
||||
.<span class="kw">await</span>;
|
||||
<span class="ident">assert_login_cookie</span>(
|
||||
<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">resp</span>,
|
||||
<span class="kw-2">&mut</span> <span class="ident">resp</span>,
|
||||
<span class="ident">COOKIE_LOGIN</span>,
|
||||
<span class="ident">LoginTimestampCheck::NewTimestamp</span>,
|
||||
<span class="ident">VisitTimeStampCheck::NoTimestamp</span>,
|
||||
@@ -1526,7 +1526,7 @@
|
||||
)
|
||||
.<span class="kw">await</span>;
|
||||
<span class="ident">assert_login_cookie</span>(
|
||||
<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">resp</span>,
|
||||
<span class="kw-2">&mut</span> <span class="ident">resp</span>,
|
||||
<span class="ident">COOKIE_LOGIN</span>,
|
||||
<span class="ident">LoginTimestampCheck::NewTimestamp</span>,
|
||||
<span class="ident">VisitTimeStampCheck::NoTimestamp</span>,
|
||||
@@ -1546,7 +1546,7 @@
|
||||
)
|
||||
.<span class="kw">await</span>;
|
||||
<span class="ident">assert_login_cookie</span>(
|
||||
<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">resp</span>,
|
||||
<span class="kw-2">&mut</span> <span class="ident">resp</span>,
|
||||
<span class="ident">COOKIE_LOGIN</span>,
|
||||
<span class="ident">LoginTimestampCheck::NoTimestamp</span>,
|
||||
<span class="ident">VisitTimeStampCheck::NewTimestamp</span>,
|
||||
@@ -1570,7 +1570,7 @@
|
||||
)
|
||||
.<span class="kw">await</span>;
|
||||
<span class="ident">assert_login_cookie</span>(
|
||||
<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">resp</span>,
|
||||
<span class="kw-2">&mut</span> <span class="ident">resp</span>,
|
||||
<span class="ident">COOKIE_LOGIN</span>,
|
||||
<span class="ident">LoginTimestampCheck::NewTimestamp</span>,
|
||||
<span class="ident">VisitTimeStampCheck::NoTimestamp</span>,
|
||||
@@ -1594,7 +1594,7 @@
|
||||
)
|
||||
.<span class="kw">await</span>;
|
||||
<span class="ident">assert_login_cookie</span>(
|
||||
<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">resp</span>,
|
||||
<span class="kw-2">&mut</span> <span class="ident">resp</span>,
|
||||
<span class="ident">COOKIE_LOGIN</span>,
|
||||
<span class="ident">LoginTimestampCheck::NoTimestamp</span>,
|
||||
<span class="ident">VisitTimeStampCheck::NewTimestamp</span>,
|
||||
@@ -1613,7 +1613,7 @@
|
||||
.<span class="ident">to_request</span>(),
|
||||
)
|
||||
.<span class="kw">await</span>;
|
||||
<span class="ident">assert_no_login_cookie</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">resp</span>);
|
||||
<span class="ident">assert_no_login_cookie</span>(<span class="kw-2">&mut</span> <span class="ident">resp</span>);
|
||||
<span class="ident">assert_logged_in</span>(<span class="ident">resp</span>, <span class="prelude-val">Some</span>(<span class="ident">COOKIE_LOGIN</span>)).<span class="kw">await</span>;
|
||||
}
|
||||
|
||||
@@ -1634,7 +1634,7 @@
|
||||
)
|
||||
.<span class="kw">await</span>;
|
||||
<span class="ident">assert_login_cookie</span>(
|
||||
<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">resp</span>,
|
||||
<span class="kw-2">&mut</span> <span class="ident">resp</span>,
|
||||
<span class="ident">COOKIE_LOGIN</span>,
|
||||
<span class="ident">LoginTimestampCheck::OldTimestamp</span>(<span class="ident">timestamp</span>),
|
||||
<span class="ident">VisitTimeStampCheck::NewTimestamp</span>,
|
||||
|
@@ -1,4 +1,4 @@
|
||||
<!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="Source of the Rust file `actix-identity/src/identity.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>identity.rs - source</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="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings" ></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../favicon.svg"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../actix_identity/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><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><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../../wheel.svg"></a></div></form></nav><section id="main" class="content"><div class="example-wrap"><pre class="line-numbers"><span id="1"> 1</span>
|
||||
<!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="Source of the Rust file `actix-identity/src/identity.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>identity.rs - source</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="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings" ></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../favicon.svg"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../actix_identity/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><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" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../../wheel.svg"></a></div></form></nav><section id="main" class="content"><div class="example-wrap"><pre class="line-numbers"><span id="1"> 1</span>
|
||||
<span id="2"> 2</span>
|
||||
<span id="3"> 3</span>
|
||||
<span id="4"> 4</span>
|
||||
@@ -194,7 +194,7 @@
|
||||
<span class="kw">type</span> <span class="ident">Future</span> <span class="op">=</span> <span class="ident">Ready</span><span class="op"><</span><span class="prelude-ty">Result</span><span class="op"><</span><span class="ident">Identity</span>, <span class="ident">Error</span><span class="op">></span><span class="op">></span>;
|
||||
|
||||
<span class="attribute">#[<span class="ident">inline</span>]</span>
|
||||
<span class="kw">fn</span> <span class="ident">from_request</span>(<span class="ident">req</span>: <span class="kw-2">&</span><span class="ident">HttpRequest</span>, <span class="kw">_</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">Payload</span>) -> <span class="ident"><span class="self">Self</span>::Future</span> {
|
||||
<span class="kw">fn</span> <span class="ident">from_request</span>(<span class="ident">req</span>: <span class="kw-2">&</span><span class="ident">HttpRequest</span>, <span class="kw">_</span>: <span class="kw-2">&mut</span> <span class="ident">Payload</span>) -> <span class="ident"><span class="self">Self</span>::Future</span> {
|
||||
<span class="ident">ready</span>(<span class="prelude-val">Ok</span>(<span class="ident">Identity</span>(<span class="ident">req</span>.<span class="ident">clone</span>())))
|
||||
}
|
||||
}
|
||||
|
@@ -1,4 +1,4 @@
|
||||
<!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="Source of the Rust file `actix-identity/src/lib.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>lib.rs - source</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="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings" ></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../favicon.svg"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../actix_identity/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><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><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../../wheel.svg"></a></div></form></nav><section id="main" class="content"><div class="example-wrap"><pre class="line-numbers"><span id="1"> 1</span>
|
||||
<!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="Source of the Rust file `actix-identity/src/lib.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>lib.rs - source</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="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings" ></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../favicon.svg"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../actix_identity/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><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" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../../wheel.svg"></a></div></form></nav><section id="main" class="content"><div class="example-wrap"><pre class="line-numbers"><span id="1"> 1</span>
|
||||
<span id="2"> 2</span>
|
||||
<span id="3"> 3</span>
|
||||
<span id="4"> 4</span>
|
||||
@@ -222,14 +222,14 @@
|
||||
<span class="kw">type</span> <span class="ident">ResponseFuture</span>: <span class="ident">Future</span><span class="op"><</span><span class="ident">Output</span> <span class="op">=</span> <span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">Error</span><span class="op">></span><span class="op">></span>;
|
||||
|
||||
<span class="doccomment">/// Parse the session from request and load data from a service identity.</span>
|
||||
<span class="kw">fn</span> <span class="ident">from_request</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">req</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">ServiceRequest</span>) -> <span class="ident"><span class="self">Self</span>::Future</span>;
|
||||
<span class="kw">fn</span> <span class="ident">from_request</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="ident">req</span>: <span class="kw-2">&mut</span> <span class="ident">ServiceRequest</span>) -> <span class="ident"><span class="self">Self</span>::Future</span>;
|
||||
|
||||
<span class="doccomment">/// Write changes to response</span>
|
||||
<span class="kw">fn</span> <span class="ident">to_response</span><span class="op"><</span><span class="ident">B</span><span class="op">></span>(
|
||||
<span class="kw-2">&</span><span class="self">self</span>,
|
||||
<span class="ident">identity</span>: <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">String</span><span class="op">></span>,
|
||||
<span class="ident">changed</span>: <span class="ident">bool</span>,
|
||||
<span class="ident">response</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">ServiceResponse</span><span class="op"><</span><span class="ident">B</span><span class="op">></span>,
|
||||
<span class="ident">response</span>: <span class="kw-2">&mut</span> <span class="ident">ServiceResponse</span><span class="op"><</span><span class="ident">B</span><span class="op">></span>,
|
||||
) -> <span class="ident"><span class="self">Self</span>::ResponseFuture</span>;
|
||||
}
|
||||
|
||||
@@ -281,7 +281,7 @@
|
||||
<span class="ident">f</span>: <span class="ident">F</span>,
|
||||
) -> <span class="kw">impl</span> <span class="ident">actix_service::Service</span><span class="op"><</span>
|
||||
<span class="ident">actix_http::Request</span>,
|
||||
<span class="ident">Response</span> <span class="op">=</span> <span class="ident">ServiceResponse</span><span class="op"><</span><span class="ident">actix_web::body::Body</span><span class="op">></span>,
|
||||
<span class="ident">Response</span> <span class="op">=</span> <span class="ident">ServiceResponse</span><span class="op"><</span><span class="ident">actix_web::body::AnyBody</span><span class="op">></span>,
|
||||
<span class="ident">Error</span> <span class="op">=</span> <span class="ident">Error</span>,
|
||||
<span class="op">></span> {
|
||||
<span class="ident">test::init_service</span>(
|
||||
|
@@ -1,4 +1,4 @@
|
||||
<!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="Source of the Rust file `actix-identity/src/middleware.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>middleware.rs - source</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="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings" ></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../favicon.svg"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../actix_identity/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><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><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../../wheel.svg"></a></div></form></nav><section id="main" class="content"><div class="example-wrap"><pre class="line-numbers"><span id="1"> 1</span>
|
||||
<!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="Source of the Rust file `actix-identity/src/middleware.rs`."><meta name="keywords" content="rust, rustlang, rust-lang"><title>middleware.rs - source</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="../../light.css" id="themeStyle"><link rel="stylesheet" type="text/css" href="../../dark.css" disabled ><link rel="stylesheet" type="text/css" href="../../ayu.css" disabled ><script id="default-settings" ></script><script src="../../storage.js"></script><script src="../../crates.js"></script><noscript><link rel="stylesheet" href="../../noscript.css"></noscript><link rel="alternate icon" type="image/png" href="../../favicon-16x16.png"><link rel="alternate icon" type="image/png" href="../../favicon-32x32.png"><link rel="icon" type="image/svg+xml" href="../../favicon.svg"><style type="text/css">#crate-search{background-image:url("../../down-arrow.svg");}</style></head><body class="rustdoc source"><!--[if lte IE 11]><div class="warning">This old browser is unsupported and will most likely display funky things.</div><![endif]--><nav class="sidebar"><div class="sidebar-menu" role="button">☰</div><a href='../../actix_identity/index.html'><div class='logo-container rust-logo'><img src='../../rust-logo.png' alt='logo'></div></a></nav><div class="theme-picker"><button id="theme-picker" aria-label="Pick another theme!" aria-haspopup="menu" title="themes"><img width="18" height="18" alt="Pick another theme!" src="../../brush.svg"></button><div id="theme-choices" role="menu"></div></div><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" autocomplete="off" spellcheck="false" placeholder="Click or press ‘S’ to search, ‘?’ for more options…" type="search"></div><button type="button" id="help-button" title="help">?</button><a id="settings-menu" href="../../settings.html" title="settings"><img width="18" height="18" alt="Change settings" src="../../wheel.svg"></a></div></form></nav><section id="main" class="content"><div class="example-wrap"><pre class="line-numbers"><span id="1"> 1</span>
|
||||
<span id="2"> 2</span>
|
||||
<span id="3"> 3</span>
|
||||
<span id="4"> 4</span>
|
||||
@@ -262,7 +262,7 @@
|
||||
<span class="kw">fn</span> <span class="ident">call</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="kw-2">mut</span> <span class="ident">req</span>: <span class="ident">ServiceRequest</span>) -> <span class="ident"><span class="self">Self</span>::Future</span> {
|
||||
<span class="kw">let</span> <span class="ident">srv</span> <span class="op">=</span> <span class="ident">Rc::clone</span>(<span class="kw-2">&</span><span class="self">self</span>.<span class="ident">service</span>);
|
||||
<span class="kw">let</span> <span class="ident">backend</span> <span class="op">=</span> <span class="ident">Rc::clone</span>(<span class="kw-2">&</span><span class="self">self</span>.<span class="ident">backend</span>);
|
||||
<span class="kw">let</span> <span class="ident">fut</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">backend</span>.<span class="ident">from_request</span>(<span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">req</span>);
|
||||
<span class="kw">let</span> <span class="ident">fut</span> <span class="op">=</span> <span class="self">self</span>.<span class="ident">backend</span>.<span class="ident">from_request</span>(<span class="kw-2">&mut</span> <span class="ident">req</span>);
|
||||
|
||||
<span class="kw">async</span> <span class="kw">move</span> {
|
||||
<span class="kw">match</span> <span class="ident">fut</span>.<span class="kw">await</span> {
|
||||
@@ -274,18 +274,18 @@
|
||||
<span class="kw">let</span> <span class="ident">id</span> <span class="op">=</span> <span class="ident">res</span>.<span class="ident">request</span>().<span class="ident">extensions_mut</span>().<span class="ident">remove</span>::<span class="op"><</span><span class="ident">IdentityItem</span><span class="op">></span>();
|
||||
|
||||
<span class="kw">if</span> <span class="kw">let</span> <span class="prelude-val">Some</span>(<span class="ident">id</span>) <span class="op">=</span> <span class="ident">id</span> {
|
||||
<span class="kw">match</span> <span class="ident">backend</span>.<span class="ident">to_response</span>(<span class="ident">id</span>.<span class="ident">id</span>, <span class="ident">id</span>.<span class="ident">changed</span>, <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">res</span>).<span class="kw">await</span> {
|
||||
<span class="prelude-val">Ok</span>(<span class="kw">_</span>) => <span class="prelude-val">Ok</span>(<span class="ident">res</span>.<span class="ident">map_body</span>(<span class="op">|</span><span class="kw">_</span>, <span class="ident">body</span><span class="op">|</span> <span class="ident">AnyBody::from_message</span>(<span class="ident">body</span>))),
|
||||
<span class="kw">match</span> <span class="ident">backend</span>.<span class="ident">to_response</span>(<span class="ident">id</span>.<span class="ident">id</span>, <span class="ident">id</span>.<span class="ident">changed</span>, <span class="kw-2">&mut</span> <span class="ident">res</span>).<span class="kw">await</span> {
|
||||
<span class="prelude-val">Ok</span>(<span class="kw">_</span>) => <span class="prelude-val">Ok</span>(<span class="ident">res</span>.<span class="ident">map_body</span>(<span class="op">|</span><span class="kw">_</span>, <span class="ident">body</span><span class="op">|</span> <span class="ident">AnyBody::new_boxed</span>(<span class="ident">body</span>))),
|
||||
<span class="prelude-val">Err</span>(<span class="ident">e</span>) => <span class="prelude-val">Ok</span>(<span class="ident">res</span>.<span class="ident">error_response</span>(<span class="ident">e</span>)),
|
||||
}
|
||||
} <span class="kw">else</span> {
|
||||
<span class="prelude-val">Ok</span>(<span class="ident">res</span>.<span class="ident">map_body</span>(<span class="op">|</span><span class="kw">_</span>, <span class="ident">body</span><span class="op">|</span> <span class="ident">AnyBody::from_message</span>(<span class="ident">body</span>)))
|
||||
<span class="prelude-val">Ok</span>(<span class="ident">res</span>.<span class="ident">map_body</span>(<span class="op">|</span><span class="kw">_</span>, <span class="ident">body</span><span class="op">|</span> <span class="ident">AnyBody::new_boxed</span>(<span class="ident">body</span>)))
|
||||
}
|
||||
}
|
||||
<span class="prelude-val">Err</span>(<span class="ident">err</span>) => <span class="prelude-val">Ok</span>(<span class="ident">req</span>.<span class="ident">error_response</span>(<span class="ident">err</span>)),
|
||||
}
|
||||
}
|
||||
.<span class="ident">map_ok</span>(<span class="op">|</span><span class="ident">res</span><span class="op">|</span> <span class="ident">res</span>.<span class="ident">map_body</span>(<span class="op">|</span><span class="kw">_</span>, <span class="ident">body</span><span class="op">|</span> <span class="ident">AnyBody::from_message</span>(<span class="ident">body</span>)))
|
||||
.<span class="ident">map_ok</span>(<span class="op">|</span><span class="ident">res</span><span class="op">|</span> <span class="ident">res</span>.<span class="ident">map_body</span>(<span class="op">|</span><span class="kw">_</span>, <span class="ident">body</span><span class="op">|</span> <span class="ident">AnyBody::new_boxed</span>(<span class="ident">body</span>)))
|
||||
.<span class="ident">boxed_local</span>()
|
||||
}
|
||||
}
|
||||
@@ -308,7 +308,7 @@
|
||||
<span class="kw">type</span> <span class="ident">Future</span> <span class="op">=</span> <span class="ident">Ready</span><span class="op"><</span><span class="prelude-ty">Result</span><span class="op"><</span><span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">String</span><span class="op">></span>, <span class="ident">Error</span><span class="op">></span><span class="op">></span>;
|
||||
<span class="kw">type</span> <span class="ident">ResponseFuture</span> <span class="op">=</span> <span class="ident">Ready</span><span class="op"><</span><span class="prelude-ty">Result</span><span class="op"><</span>(), <span class="ident">Error</span><span class="op">></span><span class="op">></span>;
|
||||
|
||||
<span class="kw">fn</span> <span class="ident">from_request</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="kw">_</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">dev::ServiceRequest</span>) -> <span class="ident"><span class="self">Self</span>::Future</span> {
|
||||
<span class="kw">fn</span> <span class="ident">from_request</span>(<span class="kw-2">&</span><span class="self">self</span>, <span class="kw">_</span>: <span class="kw-2">&mut</span> <span class="ident">dev::ServiceRequest</span>) -> <span class="ident"><span class="self">Self</span>::Future</span> {
|
||||
<span class="ident">ok</span>(<span class="prelude-val">Some</span>(<span class="string">"test"</span>.<span class="ident">to_string</span>()))
|
||||
}
|
||||
|
||||
@@ -316,7 +316,7 @@
|
||||
<span class="kw-2">&</span><span class="self">self</span>,
|
||||
<span class="kw">_</span>: <span class="prelude-ty">Option</span><span class="op"><</span><span class="ident">String</span><span class="op">></span>,
|
||||
<span class="kw">_</span>: <span class="ident">bool</span>,
|
||||
<span class="kw">_</span>: <span class="kw-2">&</span><span class="kw-2">mut</span> <span class="ident">dev::ServiceResponse</span><span class="op"><</span><span class="ident">B</span><span class="op">></span>,
|
||||
<span class="kw">_</span>: <span class="kw-2">&mut</span> <span class="ident">dev::ServiceResponse</span><span class="op"><</span><span class="ident">B</span><span class="op">></span>,
|
||||
) -> <span class="ident"><span class="self">Self</span>::ResponseFuture</span> {
|
||||
<span class="ident">ok</span>(())
|
||||
}
|
||||
|
Reference in New Issue
Block a user