16 stable releases
new 2.4.9 | Sep 7, 2024 |
---|---|
2.4.4 | Jul 27, 2024 |
2.3.1 | Jan 27, 2024 |
2.2.2 | Apr 9, 2023 |
0.4.0 | Nov 23, 2020 |
#182 in Web programming
631 downloads per month
110KB
1.5K
SLoC
Rust library hcaptcha
The rust library hcaptcha is used with your backend service to verify the hcaptcha response provided from the client.
Installation
To use hcaptcha-rs in your project you can add the following to your Cargo.toml
:
[dependencies]
hcaptcha = "2.4.9"
Usage
Derive a validation method on the data structure representing your data, marking the captcha components in the data structure.
# use hcaptcha::Hcaptcha;
#[derive(Debug, Deserialize, Hcaptcha)]
pub struct ContactForm {
name: String,
phone: String,
email: String,
message: String,
#[captcha]
token: String,
}
Validate the captcha data.
# #[tokio::main]
# async main() -> Result<(), Box<dyn std::error::Error>> {
let contact_form: ContactForm = serde_json::from_str(e.body_string())?;
contact_form.valid_response(&secret, None).await?;
# }
# fn get_your_secret() -> String {
# "0x123456789abcde0f123456789abcdef012345678".to_string()
# }
See the examples folder for an AWS Lambda contact form example.
License
Licensed under either of
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT) at your option.
Third Party Licenses
A summary of third party licenses can be found here
Contribution
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
Credits
Initial version based on recaptcha-rs by panicbit.
Dependencies
~4–16MB
~258K SLoC