
org.dspace.eperson.GoogleCaptchaResponse Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of dspace-api Show documentation
Show all versions of dspace-api Show documentation
DSpace core data model and service APIs.
The newest version!
/**
* The contents of this file are subject to the license and copyright
* detailed in the LICENSE and NOTICE files at the root of the source
* tree and available online at
*
* http://www.dspace.org/license/
*/
package org.dspace.eperson;
import java.util.HashMap;
import java.util.Map;
import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
/**
* This model class represent the response for validation of reCaptcha token
*
* @author Mohamed Eskander (mohamed.eskander at 4science dot it)
*/
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(ignoreUnknown = true)
@JsonPropertyOrder({
"success",
"score",
"action",
"challenge_ts",
"hostname",
"error-codes"
})
public class GoogleCaptchaResponse {
@JsonProperty("success")
private boolean success;
@JsonProperty("score")
private float score;
@JsonProperty("action")
private String action;
@JsonProperty("challenge_ts")
private String challengeTs;
@JsonProperty("hostname")
private String hostname;
@JsonProperty("error-codes")
private ErrorCode[] errorCodes;
public boolean isSuccess() {
return success;
}
public float getScore() {
return score;
}
public void setScore(float score) {
this.score = score;
}
public String getAction() {
return action;
}
public void setAction(String action) {
this.action = action;
}
public void setSuccess(boolean success) {
this.success = success;
}
public String getChallengeTs() {
return challengeTs;
}
public void setChallengeTs(String challengeTs) {
this.challengeTs = challengeTs;
}
public String getHostname() {
return hostname;
}
public void setHostname(String hostname) {
this.hostname = hostname;
}
public ErrorCode[] getErrorCodes() {
return errorCodes;
}
public void setErrorCodes(ErrorCode[] errorCodes) {
this.errorCodes = errorCodes;
}
@JsonIgnore
public boolean hasClientError() {
ErrorCode[] errors = getErrorCodes();
if (errors == null) {
return false;
}
for (ErrorCode error : errors) {
switch (error) {
case InvalidResponse:
case MissingResponse:
return true;
default: break;
}
}
return false;
}
static enum ErrorCode {
MissingSecret,
InvalidSecret,
MissingResponse,
InvalidResponse;
private static Map errorsMap = new HashMap<>(4);
static {
errorsMap.put("missing-input-secret", MissingSecret);
errorsMap.put("invalid-input-secret", InvalidSecret);
errorsMap.put("missing-input-response", MissingResponse);
errorsMap.put("invalid-input-response", InvalidResponse);
}
@JsonCreator
public static ErrorCode forValue(String value) {
return errorsMap.get(value.toLowerCase());
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy