analytics / lib /plausible_web /captcha.ex
Leon4gr45's picture
Upload folder using huggingface_hub (part 2)
8da2481 verified
Raw
History Blame Contribute Delete
810 Bytes
defmodule PlausibleWeb.Captcha do
alias Plausible.HTTPClient
@verify_endpoint "https://hcaptcha.com/siteverify"
def enabled? do
is_binary(sitekey())
end
def sitekey() do
Application.get_env(:plausible, :hcaptcha, [])[:sitekey]
end
def verify(token) do
if enabled?() do
res =
HTTPClient.impl().post(
@verify_endpoint,
[{"content-type", "application/x-www-form-urlencoded"}],
%{
response: token,
secret: secret()
}
)
case res do
{:ok, %Finch.Response{status: 200, body: %{"success" => success}}} ->
success
_ ->
false
end
else
true
end
end
defp secret() do
Application.get_env(:plausible, :hcaptcha, [])[:secret]
end
end