mirror of
https://github.com/mCaptcha/mCaptcha.git
synced 2026-02-12 02:25:41 +00:00
Deploying to gh-pages from @ 1b0dfd8082 🚀
This commit is contained in:
@@ -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 <realaravinth@batsense.net>
|
||||
@@ -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">"/api/v1/mcaptcha/pow/config"</span>)]</span>
|
||||
<span class="attribute">#[<span class="ident">post</span>(<span class="string">"/config"</span>)]</span>
|
||||
<span class="comment">//#[post("/pow/config")]</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"><</span><span class="ident">GetConfigPayload</span><span class="op">></span>,
|
||||
<span class="ident">data</span>: <span class="ident">web</span>::<span class="ident">Data</span><span class="op"><</span><span class="ident">Data</span><span class="op">></span>,
|
||||
@@ -335,7 +337,7 @@
|
||||
<span class="kw">const</span> <span class="ident">NAME</span>: <span class="kw-2">&</span><span class="ident">str</span> <span class="op">=</span> <span class="string">"powusrworks"</span>;
|
||||
<span class="kw">const</span> <span class="ident">PASSWORD</span>: <span class="kw-2">&</span><span class="ident">str</span> <span class="op">=</span> <span class="string">"testingpas"</span>;
|
||||
<span class="kw">const</span> <span class="ident">EMAIL</span>: <span class="kw-2">&</span><span class="ident">str</span> <span class="op">=</span> <span class="string">"randomuser@a.com"</span>;
|
||||
<span class="kw">const</span> <span class="ident">GET_URL</span>: <span class="kw-2">&</span><span class="ident">str</span> <span class="op">=</span> <span class="string">"/api/v1/mcaptcha/pow/config"</span>;
|
||||
<span class="kw">const</span> <span class="ident">GET_URL</span>: <span class="kw-2">&</span><span class="ident">str</span> <span class="op">=</span> <span class="string">"/api/v1/pow/config"</span>;
|
||||
<span class="comment">// const UPDATE_URL: &str = "/api/v1/mcaptcha/domain/token/duration/update";</span>
|
||||
|
||||
{
|
||||
|
||||
@@ -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 <realaravinth@batsense.net>
|
||||
@@ -76,7 +97,7 @@
|
||||
* along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/</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">&</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">"POST"</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">"/api/v1/pow/"</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">&</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>);
|
||||
|
||||
@@ -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">"/api/v1/mcaptcha/pow/verify"</span>)]</span>
|
||||
<span class="attribute">#[<span class="ident">post</span>(<span class="string">"/verify"</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"><</span><span class="ident">Work</span><span class="op">></span>,
|
||||
<span class="ident">data</span>: <span class="ident">web</span>::<span class="ident">Data</span><span class="op"><</span><span class="ident">Data</span><span class="op">></span>,
|
||||
@@ -187,8 +187,8 @@
|
||||
<span class="kw">const</span> <span class="ident">NAME</span>: <span class="kw-2">&</span><span class="ident">str</span> <span class="op">=</span> <span class="string">"powverifyusr"</span>;
|
||||
<span class="kw">const</span> <span class="ident">PASSWORD</span>: <span class="kw-2">&</span><span class="ident">str</span> <span class="op">=</span> <span class="string">"testingpas"</span>;
|
||||
<span class="kw">const</span> <span class="ident">EMAIL</span>: <span class="kw-2">&</span><span class="ident">str</span> <span class="op">=</span> <span class="string">"verifyuser@a.com"</span>;
|
||||
<span class="kw">const</span> <span class="ident">VERIFY_URL</span>: <span class="kw-2">&</span><span class="ident">str</span> <span class="op">=</span> <span class="string">"/api/v1/mcaptcha/pow/verify"</span>;
|
||||
<span class="kw">const</span> <span class="ident">GET_URL</span>: <span class="kw-2">&</span><span class="ident">str</span> <span class="op">=</span> <span class="string">"/api/v1/mcaptcha/pow/config"</span>;
|
||||
<span class="kw">const</span> <span class="ident">VERIFY_URL</span>: <span class="kw-2">&</span><span class="ident">str</span> <span class="op">=</span> <span class="string">"/api/v1/pow/verify"</span>;
|
||||
<span class="kw">const</span> <span class="ident">GET_URL</span>: <span class="kw-2">&</span><span class="ident">str</span> <span class="op">=</span> <span class="string">"/api/v1/pow/config"</span>;
|
||||
<span class="comment">// const UPDATE_URL: &str = "/api/v1/mcaptcha/domain/token/duration/update";</span>
|
||||
|
||||
{
|
||||
|
||||
@@ -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">"/api/v1/pow/siteverify"</span>)]</span>
|
||||
<span class="attribute">#[<span class="ident">post</span>(<span class="string">"/siteverify"</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"><</span><span class="ident">VerifyCaptchaResult</span><span class="op">></span>,
|
||||
<span class="ident">data</span>: <span class="ident">web</span>::<span class="ident">Data</span><span class="op"><</span><span class="ident">Data</span><span class="op">></span>,
|
||||
@@ -217,8 +217,8 @@
|
||||
<span class="kw">const</span> <span class="ident">NAME</span>: <span class="kw-2">&</span><span class="ident">str</span> <span class="op">=</span> <span class="string">"enterprisetken"</span>;
|
||||
<span class="kw">const</span> <span class="ident">PASSWORD</span>: <span class="kw-2">&</span><span class="ident">str</span> <span class="op">=</span> <span class="string">"testingpas"</span>;
|
||||
<span class="kw">const</span> <span class="ident">EMAIL</span>: <span class="kw-2">&</span><span class="ident">str</span> <span class="op">=</span> <span class="string">"verifyuser@enter.com"</span>;
|
||||
<span class="kw">const</span> <span class="ident">VERIFY_CAPTCHA_URL</span>: <span class="kw-2">&</span><span class="ident">str</span> <span class="op">=</span> <span class="string">"/api/v1/mcaptcha/pow/verify"</span>;
|
||||
<span class="kw">const</span> <span class="ident">GET_URL</span>: <span class="kw-2">&</span><span class="ident">str</span> <span class="op">=</span> <span class="string">"/api/v1/mcaptcha/pow/config"</span>;
|
||||
<span class="kw">const</span> <span class="ident">VERIFY_CAPTCHA_URL</span>: <span class="kw-2">&</span><span class="ident">str</span> <span class="op">=</span> <span class="string">"/api/v1/pow/verify"</span>;
|
||||
<span class="kw">const</span> <span class="ident">GET_URL</span>: <span class="kw-2">&</span><span class="ident">str</span> <span class="op">=</span> <span class="string">"/api/v1/pow/config"</span>;
|
||||
<span class="kw">const</span> <span class="ident">VERIFY_TOKEN_URL</span>: <span class="kw-2">&</span><span class="ident">str</span> <span class="op">=</span> <span class="string">"/api/v1/pow/siteverify"</span>;
|
||||
<span class="comment">// const UPDATE_URL: &str = "/api/v1/mcaptcha/domain/token/duration/update";</span>
|
||||
|
||||
|
||||
@@ -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 <realaravinth@batsense.net>
|
||||
@@ -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">"POST"</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!["POST"])</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">"/api/v1/pow"</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("/")</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>)
|
||||
|
||||
@@ -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 <realaravinth@batsense.net>
|
||||
@@ -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">"URL prefix is set to empty string"</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">"test"</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">" "</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>
|
||||
|
||||
@@ -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 <realaravinth@batsense.net>
|
||||
@@ -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">"URL prefix is set to empty string"</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">"test"</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">" "</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>
|
||||
|
||||
Reference in New Issue
Block a user