From 89f12c77d6a5128ae84ecd31494c2c71fc9d106c Mon Sep 17 00:00:00 2001 From: sasfmlzr Date: Thu, 2 Jul 2020 16:54:10 +0300 Subject: [PATCH] Add redirect validation uri for ApiAuthValidationException. --- .../exceptions/ApiAuthValidationException.java | 10 +++++++++- .../vk/api/sdk/exceptions/ExceptionMapper.java | 2 +- .../java/com/vk/api/sdk/objects/base/Error.java | 17 +++++++++++++++-- 3 files changed, 25 insertions(+), 4 deletions(-) diff --git a/sdk/src/main/java/com/vk/api/sdk/exceptions/ApiAuthValidationException.java b/sdk/src/main/java/com/vk/api/sdk/exceptions/ApiAuthValidationException.java index 15c97f2a..7d2a30d1 100644 --- a/sdk/src/main/java/com/vk/api/sdk/exceptions/ApiAuthValidationException.java +++ b/sdk/src/main/java/com/vk/api/sdk/exceptions/ApiAuthValidationException.java @@ -1,7 +1,15 @@ package com.vk.api.sdk.exceptions; public class ApiAuthValidationException extends ApiException { - public ApiAuthValidationException(String message) { + + private final String redirectUri; + + public ApiAuthValidationException(String message, String redirectUri) { super(17, "Validation required", message); + this.redirectUri = redirectUri; + } + + public String getRedirectUri() { + return redirectUri; } } diff --git a/sdk/src/main/java/com/vk/api/sdk/exceptions/ExceptionMapper.java b/sdk/src/main/java/com/vk/api/sdk/exceptions/ExceptionMapper.java index 88a47090..77e97c28 100644 --- a/sdk/src/main/java/com/vk/api/sdk/exceptions/ExceptionMapper.java +++ b/sdk/src/main/java/com/vk/api/sdk/exceptions/ExceptionMapper.java @@ -40,7 +40,7 @@ public static ApiException parseException(Error error) { case 16: return new ApiAuthHttpsException(error.getErrorMsg()); case 17: - return new ApiAuthValidationException(error.getErrorMsg()); + return new ApiAuthValidationException(error.getErrorMsg(), error.getRedirectUri()); case 18: return new ApiUserDeletedException(error.getErrorMsg()); case 19: diff --git a/sdk/src/main/java/com/vk/api/sdk/objects/base/Error.java b/sdk/src/main/java/com/vk/api/sdk/objects/base/Error.java index b52ef348..37435479 100644 --- a/sdk/src/main/java/com/vk/api/sdk/objects/base/Error.java +++ b/sdk/src/main/java/com/vk/api/sdk/objects/base/Error.java @@ -25,6 +25,9 @@ public class Error implements Validable { @SerializedName("request_params") private List requestParams; + @SerializedName("redirect_uri") + private String redirectUri; + public Integer getErrorCode() { return errorCode; } @@ -52,9 +55,17 @@ public Error setRequestParams(List requestParams) { return this; } + public String getRedirectUri() { + return redirectUri; + } + + public void setRedirectUri(String redirectUri) { + this.redirectUri = redirectUri; + } + @Override public int hashCode() { - return Objects.hash(requestParams, errorCode, errorMsg); + return Objects.hash(requestParams, errorCode, errorMsg, redirectUri); } @Override @@ -64,7 +75,8 @@ public boolean equals(Object o) { Error error = (Error) o; return Objects.equals(errorMsg, error.errorMsg) && Objects.equals(requestParams, error.requestParams) && - Objects.equals(errorCode, error.errorCode); + Objects.equals(errorCode, error.errorCode) && + Objects.equals(redirectUri, error.redirectUri); } @Override @@ -78,6 +90,7 @@ public String toPrettyString() { sb.append("errorMsg='").append(errorMsg).append("'"); sb.append(", requestParams=").append(requestParams); sb.append(", errorCode=").append(errorCode); + sb.append(", redirectUri=").append(redirectUri); sb.append('}'); return sb.toString(); }