Client

Struct Client 

Source
pub struct Client { /* private fields */ }
Expand description

Client to submit a request to a Hcaptcha validation endpoint.

Implementations§

Source§

impl Client

Source

pub fn new() -> Client

Create a new Hcaptcha Client to connect with the default Hcaptcha siteverify API endpoint specified in VERIFY_URL.

§Example

Initialise client to connect to default API endpoint.

    use hcaptcha_no_wasm::Client;
    let client = Client::new();
§Panic

If the default API url constant is corrupted the function with will panic.

Source

pub fn new_with(url: &str) -> Result<Client, ParseError>

Create a new Hcaptcha Client and specify the url for the API.

Specify the url for the hcaptcha API.

§Example

Initialise client to connect to custom Hcaptcha API

    use hcaptcha_no_wasm::Client;
    use url::Url;

    let url = "https://domain.com/siteverify";
    let _client = Client::new_with(url);
Source

pub fn set_url(self, url: &str) -> Result<Self, Error>

Set the url.

Specify the url for the hcaptcha API. This method is useful during testing to provide a mock url.

§Example

Initialise client to connect to custom Hcaptcha API

    use hcaptcha_no_wasm::Client;
    use url::Url;

    let url = "https://domain.com/siteverify";
    let client = Client::new()
                       .set_url(url)?;
Source

pub async fn verify_client_response( self, request: Request, ) -> Result<Response, Error>

👎Deprecated since 3.0.0: please use verify instead

Verify the client token with the Hcaptcha service API.

Call the Hcaptcha api and provide a Request struct.

§Inputs

Request contains the required and optional fields for the Hcaptcha API. The required fields include the response code to validate and the secret key.

§Outputs

This method returns Response if successful and Error if unsuccessful.

§Example
   use hcaptcha_no_wasm::{Client, Request};
   let secret = get_your_secret(); // your secret key
   let captcha = get_captcha();  // user's token

   let request = Request::new(&secret, captcha)?;

   let client = Client::new();

   let response = client.verify_client_response(request).await?;

   let score = response.score();
   let score_reasons = response.score_reason();
§Logging

If the trace feature is enabled a debug level span is set for the method and an event logs the response.

Source

pub async fn verify(self, request: Request) -> Result<Response, Error>

Verify the client token with the Hcaptcha service API.

Call the Hcaptcha api and provide a Request struct.

§Inputs

Request contains the required and optional fields for the Hcaptcha API. The required fields include the response code to validate and the secret key.

§Outputs

This method returns Response if successful and Error if unsuccessful.

§Example
   use hcaptcha_no_wasm::{Client, Request};
   let secret = get_your_secret(); // your secret key
   let captcha = get_captcha();  // user's token

   let request = Request::new(&secret, captcha)?;

   let client = Client::new();

   let response = client.verify(request).await?;

   let score = response.score();
   let score_reasons = response.score_reason();
§Logging

If the trace feature is enabled a debug level span is set for the method and an event logs the response.

Trait Implementations§

Source§

impl Debug for Client

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Client

Source§

fn default() -> Client

Returns the “default value” for a type. Read more

Auto Trait Implementations§

§

impl Freeze for Client

§

impl !RefUnwindSafe for Client

§

impl Send for Client

§

impl Sync for Client

§

impl Unpin for Client

§

impl !UnwindSafe for Client

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,