Skip to content

Commit a33f566

Browse files
AISDK-221 Fix HIPAA Error Message on Incorrect Usage (#53)
1 parent 48cb4d2 commit a33f566

File tree

5 files changed

+20
-33
lines changed

5 files changed

+20
-33
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<!-- groupId, artifactId, these namespaces should not be changed -->
66
<groupId>ai.rev</groupId>
77
<artifactId>revai-java-sdk</artifactId>
8-
<version>2.3.0</version>
8+
<version>2.4.0</version>
99
<name>Rev AI SDK for Java</name>
1010
<description>Java SDK for Rev AI API</description>
1111
<url>https://docs.rev.ai/</url>
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
package ai.rev.exceptions;
2+
3+
import org.json.JSONObject;
4+
5+
/**
6+
* The ForbiddenRequestException happens when the request contains parameters that do not pass validation
7+
* or the request is not allowed for the user
8+
*/
9+
public class ForbiddenRequestException extends RevAiApiException {
10+
11+
public ForbiddenRequestException(JSONObject errorResponse) {
12+
super("Forbidden Request Exception", errorResponse, 403);
13+
}
14+
}

src/main/java/ai/rev/exceptions/RevAiApiException.java

Lines changed: 1 addition & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -16,36 +16,6 @@ public RevAiApiException(String message, JSONObject errorResponse, int responseC
1616

1717
private static String formatErrorDetails(
1818
String message, JSONObject errorResponse, int responseCode) {
19-
StringBuilder stringBuilder = new StringBuilder();
20-
stringBuilder.append(message);
21-
if (errorResponse.has("title")) {
22-
stringBuilder.append(System.lineSeparator());
23-
stringBuilder.append("Title: " + errorResponse.get("title"));
24-
}
25-
if (errorResponse.has("detail")) {
26-
stringBuilder.append(System.lineSeparator());
27-
stringBuilder.append("Detail: " + errorResponse.get("detail"));
28-
}
29-
if (errorResponse.has("type")) {
30-
stringBuilder.append(System.lineSeparator());
31-
stringBuilder.append("Type: " + errorResponse.get("type"));
32-
}
33-
if (errorResponse.has("status")) {
34-
stringBuilder.append(System.lineSeparator());
35-
stringBuilder.append("Status: " + errorResponse.get("status"));
36-
}
37-
if (errorResponse.has("parameters")) {
38-
stringBuilder.append(System.lineSeparator());
39-
stringBuilder.append("Parameters: " + errorResponse.get("parameters"));
40-
}
41-
if (errorResponse.has("allowed_values")) {
42-
stringBuilder.append(System.lineSeparator());
43-
stringBuilder.append("Allowed Values: " + errorResponse.get("allowed_values"));
44-
}
45-
if (errorResponse.has("current_value")) {
46-
stringBuilder.append(System.lineSeparator());
47-
stringBuilder.append("Current Value: " + errorResponse.get("current_value"));
48-
}
49-
return stringBuilder.toString();
19+
return String.format("Response code: %s, Error: %s, Api response: %s", responseCode, message, errorResponse);
5020
}
5121
}

src/main/java/ai/rev/helpers/ErrorInterceptor.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package ai.rev.helpers;
22

33
import ai.rev.exceptions.AuthorizationException;
4+
import ai.rev.exceptions.ForbiddenRequestException;
45
import ai.rev.exceptions.ForbiddenStateException;
56
import ai.rev.exceptions.InvalidHeaderException;
67
import ai.rev.exceptions.InvalidParameterException;
@@ -31,6 +32,8 @@ public Response intercept(Interceptor.Chain chain) throws IOException {
3132
throw new AuthorizationException(errorResponse);
3233
case 400:
3334
throw new InvalidParameterException(errorResponse);
35+
case 403:
36+
throw new ForbiddenRequestException(errorResponse);
3437
case 404:
3538
throw new ResourceNotFoundException(errorResponse);
3639
case 406:

src/test/java/ai/rev/helpers/unit/ErrorInterceptorTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ public void setup() {
5959

6060
@Parameterized.Parameters
6161
public static Collection<Object[]> input() {
62-
return Arrays.asList(new Object[][] {{400}, {401}, {404}, {406}, {409}, {429}, {500}});
62+
return Arrays.asList(new Object[][] {{400}, {401}, {403}, {404}, {406}, {409}, {429}, {500}});
6363
}
6464

6565
@Test

0 commit comments

Comments
 (0)