Skip to content

Commit 430c7a4

Browse files
authored
[java] Improving exception when server returns 504 (#9354)
Add a special case in W3CHttpResponseCodec handling 504 Gateway Time-out errors. Before, the end user used to see a pretty unfriendly error: > JsonException: Unable to determine type from: <. Last 1 characters read: <
1 parent fcfbc6b commit 430c7a4

File tree

1 file changed

+4
-1
lines changed

1 file changed

+4
-1
lines changed

java/client/src/org/openqa/selenium/remote/codec/w3c/W3CHttpResponseCodec.java

+4-1
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,8 @@
2020
import static com.google.common.base.Strings.nullToEmpty;
2121
import static com.google.common.net.HttpHeaders.CONTENT_TYPE;
2222
import static java.net.HttpURLConnection.HTTP_BAD_METHOD;
23+
import static java.net.HttpURLConnection.HTTP_GATEWAY_TIMEOUT;
2324
import static java.net.HttpURLConnection.HTTP_INTERNAL_ERROR;
24-
import static java.net.HttpURLConnection.HTTP_OK;
2525
import static org.openqa.selenium.json.Json.MAP_TYPE;
2626
import static org.openqa.selenium.json.Json.OBJECT_TYPE;
2727
import static org.openqa.selenium.remote.http.Contents.string;
@@ -90,6 +90,9 @@ public Response decode(HttpResponse encodedResponse) {
9090
if (HTTP_BAD_METHOD == encodedResponse.getStatus()) {
9191
response.setStatus(ErrorCodes.UNKNOWN_COMMAND);
9292
response.setValue(content);
93+
} else if (HTTP_GATEWAY_TIMEOUT == encodedResponse.getStatus()) {
94+
response.setStatus(ErrorCodes.UNHANDLED_ERROR);
95+
response.setValue(content);
9396
} else {
9497
Map<String, Object> obj = json.toType(content, MAP_TYPE);
9598

0 commit comments

Comments
 (0)