Deploying to gh-pages from @ 1b0dfd8082 🚀

This commit is contained in:
realaravinth
2021-04-12 05:30:02 +00:00
parent 19392dd6a3
commit 4d93ca0762
20 changed files with 89 additions and 58 deletions

View File

@@ -183,6 +183,7 @@
<span id="180">180</span>
<span id="181">181</span>
<span id="182">182</span>
<span id="183">183</span>
</pre><div class="example-wrap"><pre class="rust ">
<span class="comment">/*
* Copyright (C) 2021 Aravinth Manivannan &lt;realaravinth@batsense.net&gt;
@@ -224,7 +225,8 @@
<span class="comment">// API keys are mcaptcha actor names</span>
<span class="attribute">#[<span class="ident">post</span>(<span class="string">&quot;/api/v1/mcaptcha/pow/config&quot;</span>)]</span>
<span class="attribute">#[<span class="ident">post</span>(<span class="string">&quot;/config&quot;</span>)]</span>
<span class="comment">//#[post(&quot;/pow/config&quot;)]</span>
<span class="kw">pub</span> <span class="kw">async</span> <span class="kw">fn</span> <span class="ident">get_config</span>(
<span class="ident">payload</span>: <span class="ident">web</span>::<span class="ident">Json</span><span class="op">&lt;</span><span class="ident">GetConfigPayload</span><span class="op">&gt;</span>,
<span class="ident">data</span>: <span class="ident">web</span>::<span class="ident">Data</span><span class="op">&lt;</span><span class="ident">Data</span><span class="op">&gt;</span>,
@@ -335,7 +337,7 @@
<span class="kw">const</span> <span class="ident">NAME</span>: <span class="kw-2">&amp;</span><span class="ident">str</span> <span class="op">=</span> <span class="string">&quot;powusrworks&quot;</span>;
<span class="kw">const</span> <span class="ident">PASSWORD</span>: <span class="kw-2">&amp;</span><span class="ident">str</span> <span class="op">=</span> <span class="string">&quot;testingpas&quot;</span>;
<span class="kw">const</span> <span class="ident">EMAIL</span>: <span class="kw-2">&amp;</span><span class="ident">str</span> <span class="op">=</span> <span class="string">&quot;randomuser@a.com&quot;</span>;
<span class="kw">const</span> <span class="ident">GET_URL</span>: <span class="kw-2">&amp;</span><span class="ident">str</span> <span class="op">=</span> <span class="string">&quot;/api/v1/mcaptcha/pow/config&quot;</span>;
<span class="kw">const</span> <span class="ident">GET_URL</span>: <span class="kw-2">&amp;</span><span class="ident">str</span> <span class="op">=</span> <span class="string">&quot;/api/v1/pow/config&quot;</span>;
<span class="comment">// const UPDATE_URL: &amp;str = &quot;/api/v1/mcaptcha/domain/token/duration/update&quot;;</span>
{

View File

@@ -58,6 +58,27 @@
<span id="55">55</span>
<span id="56">56</span>
<span id="57">57</span>
<span id="58">58</span>
<span id="59">59</span>
<span id="60">60</span>
<span id="61">61</span>
<span id="62">62</span>
<span id="63">63</span>
<span id="64">64</span>
<span id="65">65</span>
<span id="66">66</span>
<span id="67">67</span>
<span id="68">68</span>
<span id="69">69</span>
<span id="70">70</span>
<span id="71">71</span>
<span id="72">72</span>
<span id="73">73</span>
<span id="74">74</span>
<span id="75">75</span>
<span id="76">76</span>
<span id="77">77</span>
<span id="78">78</span>
</pre><div class="example-wrap"><pre class="rust ">
<span class="comment">/*
* Copyright (C) 2021 Aravinth Manivannan &lt;realaravinth@batsense.net&gt;
@@ -76,7 +97,7 @@
* along with this program. If not, see &lt;https://www.gnu.org/licenses/&gt;.
*/</span>
<span class="comment">//use actix_cors::Cors;</span>
<span class="kw">use</span> <span class="ident">actix_cors</span>::<span class="ident">Cors</span>;
<span class="kw">use</span> <span class="ident">actix_web</span>::<span class="ident">web</span>;
<span class="kw">pub</span> <span class="kw">mod</span> <span class="ident">get_config</span>;
@@ -112,6 +133,27 @@
<span class="comment">//}</span>
<span class="kw">pub</span> <span class="kw">fn</span> <span class="ident">services</span>(<span class="ident">cfg</span>: <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">web</span>::<span class="ident">ServiceConfig</span>) {
<span class="kw">let</span> <span class="ident">captcha_api_cors</span> <span class="op">=</span> <span class="ident">Cors</span>::<span class="ident">default</span>()
.<span class="ident">allow_any_origin</span>()
.<span class="ident">allowed_methods</span>(<span class="macro">vec</span><span class="macro">!</span>[<span class="string">&quot;POST&quot;</span>])
.<span class="ident">allow_any_header</span>()
.<span class="ident">max_age</span>(<span class="number">0</span>)
.<span class="ident">send_wildcard</span>();
<span class="ident">cfg</span>.<span class="ident">service</span>(
<span class="ident">web</span>::<span class="ident">scope</span>(<span class="string">&quot;/api/v1/pow/&quot;</span>)
.<span class="ident">wrap</span>(<span class="ident">captcha_api_cors</span>)
.<span class="ident">configure</span>(<span class="ident">intenral_services</span>),
);
<span class="comment">// cfg.service(</span>
<span class="comment">// cfg.service(get_config::get_config);</span>
<span class="comment">// cfg.service(verify_pow::verify_pow);</span>
<span class="comment">// cfg.service(verify_token::validate_captcha_token);</span>
}
<span class="kw">fn</span> <span class="ident">intenral_services</span>(<span class="ident">cfg</span>: <span class="kw-2">&amp;</span><span class="kw-2">mut</span> <span class="ident">web</span>::<span class="ident">ServiceConfig</span>) {
<span class="ident">cfg</span>.<span class="ident">service</span>(<span class="ident">get_config</span>::<span class="ident">get_config</span>);
<span class="ident">cfg</span>.<span class="ident">service</span>(<span class="ident">verify_pow</span>::<span class="ident">verify_pow</span>);
<span class="ident">cfg</span>.<span class="ident">service</span>(<span class="ident">verify_token</span>::<span class="ident">validate_captcha_token</span>);

View File

@@ -161,7 +161,7 @@
<span class="comment">// API keys are mcaptcha actor names</span>
<span class="attribute">#[<span class="ident">post</span>(<span class="string">&quot;/api/v1/mcaptcha/pow/verify&quot;</span>)]</span>
<span class="attribute">#[<span class="ident">post</span>(<span class="string">&quot;/verify&quot;</span>)]</span>
<span class="kw">pub</span> <span class="kw">async</span> <span class="kw">fn</span> <span class="ident">verify_pow</span>(
<span class="ident">payload</span>: <span class="ident">web</span>::<span class="ident">Json</span><span class="op">&lt;</span><span class="ident">Work</span><span class="op">&gt;</span>,
<span class="ident">data</span>: <span class="ident">web</span>::<span class="ident">Data</span><span class="op">&lt;</span><span class="ident">Data</span><span class="op">&gt;</span>,
@@ -187,8 +187,8 @@
<span class="kw">const</span> <span class="ident">NAME</span>: <span class="kw-2">&amp;</span><span class="ident">str</span> <span class="op">=</span> <span class="string">&quot;powverifyusr&quot;</span>;
<span class="kw">const</span> <span class="ident">PASSWORD</span>: <span class="kw-2">&amp;</span><span class="ident">str</span> <span class="op">=</span> <span class="string">&quot;testingpas&quot;</span>;
<span class="kw">const</span> <span class="ident">EMAIL</span>: <span class="kw-2">&amp;</span><span class="ident">str</span> <span class="op">=</span> <span class="string">&quot;verifyuser@a.com&quot;</span>;
<span class="kw">const</span> <span class="ident">VERIFY_URL</span>: <span class="kw-2">&amp;</span><span class="ident">str</span> <span class="op">=</span> <span class="string">&quot;/api/v1/mcaptcha/pow/verify&quot;</span>;
<span class="kw">const</span> <span class="ident">GET_URL</span>: <span class="kw-2">&amp;</span><span class="ident">str</span> <span class="op">=</span> <span class="string">&quot;/api/v1/mcaptcha/pow/config&quot;</span>;
<span class="kw">const</span> <span class="ident">VERIFY_URL</span>: <span class="kw-2">&amp;</span><span class="ident">str</span> <span class="op">=</span> <span class="string">&quot;/api/v1/pow/verify&quot;</span>;
<span class="kw">const</span> <span class="ident">GET_URL</span>: <span class="kw-2">&amp;</span><span class="ident">str</span> <span class="op">=</span> <span class="string">&quot;/api/v1/pow/config&quot;</span>;
<span class="comment">// const UPDATE_URL: &amp;str = &quot;/api/v1/mcaptcha/domain/token/duration/update&quot;;</span>
{

View File

@@ -185,7 +185,7 @@
<span class="comment">// API keys are mcaptcha actor names</span>
<span class="attribute">#[<span class="ident">post</span>(<span class="string">&quot;/api/v1/pow/siteverify&quot;</span>)]</span>
<span class="attribute">#[<span class="ident">post</span>(<span class="string">&quot;/siteverify&quot;</span>)]</span>
<span class="kw">pub</span> <span class="kw">async</span> <span class="kw">fn</span> <span class="ident">validate_captcha_token</span>(
<span class="ident">payload</span>: <span class="ident">web</span>::<span class="ident">Json</span><span class="op">&lt;</span><span class="ident">VerifyCaptchaResult</span><span class="op">&gt;</span>,
<span class="ident">data</span>: <span class="ident">web</span>::<span class="ident">Data</span><span class="op">&lt;</span><span class="ident">Data</span><span class="op">&gt;</span>,
@@ -217,8 +217,8 @@
<span class="kw">const</span> <span class="ident">NAME</span>: <span class="kw-2">&amp;</span><span class="ident">str</span> <span class="op">=</span> <span class="string">&quot;enterprisetken&quot;</span>;
<span class="kw">const</span> <span class="ident">PASSWORD</span>: <span class="kw-2">&amp;</span><span class="ident">str</span> <span class="op">=</span> <span class="string">&quot;testingpas&quot;</span>;
<span class="kw">const</span> <span class="ident">EMAIL</span>: <span class="kw-2">&amp;</span><span class="ident">str</span> <span class="op">=</span> <span class="string">&quot;verifyuser@enter.com&quot;</span>;
<span class="kw">const</span> <span class="ident">VERIFY_CAPTCHA_URL</span>: <span class="kw-2">&amp;</span><span class="ident">str</span> <span class="op">=</span> <span class="string">&quot;/api/v1/mcaptcha/pow/verify&quot;</span>;
<span class="kw">const</span> <span class="ident">GET_URL</span>: <span class="kw-2">&amp;</span><span class="ident">str</span> <span class="op">=</span> <span class="string">&quot;/api/v1/mcaptcha/pow/config&quot;</span>;
<span class="kw">const</span> <span class="ident">VERIFY_CAPTCHA_URL</span>: <span class="kw-2">&amp;</span><span class="ident">str</span> <span class="op">=</span> <span class="string">&quot;/api/v1/pow/verify&quot;</span>;
<span class="kw">const</span> <span class="ident">GET_URL</span>: <span class="kw-2">&amp;</span><span class="ident">str</span> <span class="op">=</span> <span class="string">&quot;/api/v1/pow/config&quot;</span>;
<span class="kw">const</span> <span class="ident">VERIFY_TOKEN_URL</span>: <span class="kw-2">&amp;</span><span class="ident">str</span> <span class="op">=</span> <span class="string">&quot;/api/v1/pow/siteverify&quot;</span>;
<span class="comment">// const UPDATE_URL: &amp;str = &quot;/api/v1/mcaptcha/domain/token/duration/update&quot;;</span>

View File

@@ -138,6 +138,7 @@
<span id="135">135</span>
<span id="136">136</span>
<span id="137">137</span>
<span id="138">138</span>
</pre><div class="example-wrap"><pre class="rust ">
<span class="comment">/*
* Copyright (C) 2021 Aravinth Manivannan &lt;realaravinth@batsense.net&gt;
@@ -222,12 +223,12 @@
<span class="ident">HttpServer</span>::<span class="ident">new</span>(<span class="kw">move</span> <span class="op">|</span><span class="op">|</span> {
<span class="kw">let</span> <span class="ident">client</span> <span class="op">=</span> <span class="ident">Client</span>::<span class="ident">default</span>();
<span class="kw">let</span> <span class="ident">captcha_api_cors</span> <span class="op">=</span> <span class="ident">Cors</span>::<span class="ident">default</span>()
.<span class="ident">allow_any_origin</span>()
.<span class="ident">allowed_methods</span>(<span class="macro">vec</span><span class="macro">!</span>[<span class="string">&quot;POST&quot;</span>])
.<span class="ident">allow_any_header</span>()
.<span class="ident">max_age</span>(<span class="number">0</span>)
.<span class="ident">send_wildcard</span>();
<span class="comment">// let captcha_api_cors = Cors::default()</span>
<span class="comment">// .allow_any_origin()</span>
<span class="comment">// .allowed_methods(vec![&quot;POST&quot;])</span>
<span class="comment">// .allow_any_header()</span>
<span class="comment">// .max_age(0)</span>
<span class="comment">// .send_wildcard();</span>
<span class="ident">App</span>::<span class="ident">new</span>()
.<span class="ident">wrap</span>(<span class="ident">middleware</span>::<span class="ident">Logger</span>::<span class="ident">default</span>())
@@ -238,12 +239,13 @@
.<span class="ident">wrap</span>(<span class="ident">middleware</span>::<span class="ident">NormalizePath</span>::<span class="ident">new</span>(
<span class="ident">middleware</span>::<span class="ident">normalize</span>::<span class="ident">TrailingSlash</span>::<span class="ident">Trim</span>,
))
.<span class="ident">configure</span>(<span class="ident">v1</span>::<span class="ident">pow</span>::<span class="ident">services</span>)
.<span class="ident">configure</span>(<span class="ident">v1</span>::<span class="ident">services</span>)
.<span class="ident">service</span>(
<span class="ident">scope</span>(<span class="string">&quot;/api/v1/pow&quot;</span>)
.<span class="ident">wrap</span>(<span class="ident">captcha_api_cors</span>)
.<span class="ident">configure</span>(<span class="ident">v1</span>::<span class="ident">pow</span>::<span class="ident">services</span>),
)
<span class="comment">//.service(</span>
<span class="comment">// scope(&quot;/&quot;)</span>
<span class="comment">// .wrap(captcha_api_cors)</span>
<span class="comment">// .configure(v1::pow::services),</span>
<span class="comment">//)</span>
.<span class="ident">configure</span>(<span class="ident">docs</span>::<span class="ident">services</span>)
.<span class="ident">configure</span>(<span class="ident">templates</span>::<span class="ident">services</span>)
.<span class="ident">configure</span>(<span class="ident">static_assets</span>::<span class="ident">services</span>)

View File

@@ -191,11 +191,6 @@
<span id="188">188</span>
<span id="189">189</span>
<span id="190">190</span>
<span id="191">191</span>
<span id="192">192</span>
<span id="193">193</span>
<span id="194">194</span>
<span id="195">195</span>
</pre><div class="example-wrap"><pre class="rust ">
<span class="comment">/*
* Copyright (C) 2021 Aravinth Manivannan &lt;realaravinth@batsense.net&gt;
@@ -247,7 +242,7 @@
<span class="kw">if</span> <span class="kw">let</span> <span class="prelude-val">Some</span>(<span class="ident">prefix</span>) <span class="op">=</span> <span class="self">self</span>.<span class="ident">url_prefix</span>.<span class="ident">clone</span>() {
<span class="self">self</span>.<span class="ident">url_prefix</span> <span class="op">=</span> <span class="prelude-val">Some</span>(<span class="ident">prefix</span>.<span class="ident">trim</span>().<span class="ident">into</span>());
<span class="kw">if</span> <span class="ident">prefix</span>.<span class="ident">trim</span>().<span class="ident">is_empty</span>() {
<span class="macro">panic</span><span class="macro">!</span>(<span class="string">&quot;URL prefix is set to empty string&quot;</span>)
<span class="self">self</span>.<span class="ident">url_prefix</span> <span class="op">=</span> <span class="prelude-val">None</span>;
}
}
}
@@ -382,14 +377,9 @@
<span class="macro">assert</span><span class="macro">!</span>(<span class="ident">settings</span>.<span class="ident">server</span>.<span class="ident">url_prefix</span>.<span class="ident">is_none</span>());
<span class="ident">settings</span>.<span class="ident">server</span>.<span class="ident">url_prefix</span> <span class="op">=</span> <span class="prelude-val">Some</span>(<span class="string">&quot;test&quot;</span>.<span class="ident">into</span>());
<span class="ident">settings</span>.<span class="ident">server</span>.<span class="ident">check_url_prefix</span>();
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="attribute">#[<span class="ident">should_panic</span>]</span>
<span class="kw">fn</span> <span class="ident">url_prefix_panic_test</span>() {
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">settings</span> <span class="op">=</span> <span class="ident">Settings</span>::<span class="ident">new</span>().<span class="ident">unwrap</span>();
<span class="ident">settings</span>.<span class="ident">server</span>.<span class="ident">url_prefix</span> <span class="op">=</span> <span class="prelude-val">Some</span>(<span class="string">&quot; &quot;</span>.<span class="ident">into</span>());
<span class="ident">settings</span>.<span class="ident">server</span>.<span class="ident">check_url_prefix</span>();
<span class="macro">assert</span><span class="macro">!</span>(<span class="ident">settings</span>.<span class="ident">server</span>.<span class="ident">url_prefix</span>.<span class="ident">is_none</span>());
}
}
</pre></div>

View File

@@ -191,11 +191,6 @@
<span id="188">188</span>
<span id="189">189</span>
<span id="190">190</span>
<span id="191">191</span>
<span id="192">192</span>
<span id="193">193</span>
<span id="194">194</span>
<span id="195">195</span>
</pre><div class="example-wrap"><pre class="rust ">
<span class="comment">/*
* Copyright (C) 2021 Aravinth Manivannan &lt;realaravinth@batsense.net&gt;
@@ -247,7 +242,7 @@
<span class="kw">if</span> <span class="kw">let</span> <span class="prelude-val">Some</span>(<span class="ident">prefix</span>) <span class="op">=</span> <span class="self">self</span>.<span class="ident">url_prefix</span>.<span class="ident">clone</span>() {
<span class="self">self</span>.<span class="ident">url_prefix</span> <span class="op">=</span> <span class="prelude-val">Some</span>(<span class="ident">prefix</span>.<span class="ident">trim</span>().<span class="ident">into</span>());
<span class="kw">if</span> <span class="ident">prefix</span>.<span class="ident">trim</span>().<span class="ident">is_empty</span>() {
<span class="macro">panic</span><span class="macro">!</span>(<span class="string">&quot;URL prefix is set to empty string&quot;</span>)
<span class="self">self</span>.<span class="ident">url_prefix</span> <span class="op">=</span> <span class="prelude-val">None</span>;
}
}
}
@@ -382,14 +377,9 @@
<span class="macro">assert</span><span class="macro">!</span>(<span class="ident">settings</span>.<span class="ident">server</span>.<span class="ident">url_prefix</span>.<span class="ident">is_none</span>());
<span class="ident">settings</span>.<span class="ident">server</span>.<span class="ident">url_prefix</span> <span class="op">=</span> <span class="prelude-val">Some</span>(<span class="string">&quot;test&quot;</span>.<span class="ident">into</span>());
<span class="ident">settings</span>.<span class="ident">server</span>.<span class="ident">check_url_prefix</span>();
}
<span class="attribute">#[<span class="ident">test</span>]</span>
<span class="attribute">#[<span class="ident">should_panic</span>]</span>
<span class="kw">fn</span> <span class="ident">url_prefix_panic_test</span>() {
<span class="kw">let</span> <span class="kw-2">mut</span> <span class="ident">settings</span> <span class="op">=</span> <span class="ident">Settings</span>::<span class="ident">new</span>().<span class="ident">unwrap</span>();
<span class="ident">settings</span>.<span class="ident">server</span>.<span class="ident">url_prefix</span> <span class="op">=</span> <span class="prelude-val">Some</span>(<span class="string">&quot; &quot;</span>.<span class="ident">into</span>());
<span class="ident">settings</span>.<span class="ident">server</span>.<span class="ident">check_url_prefix</span>();
<span class="macro">assert</span><span class="macro">!</span>(<span class="ident">settings</span>.<span class="ident">server</span>.<span class="ident">url_prefix</span>.<span class="ident">is_none</span>());
}
}
</pre></div>