Skip to content

Commit bee1d91

Browse files
authored
Use RestStatus.isSuccessful to deduplicate status code checks (#114279)
1 parent 1a8f506 commit bee1d91

File tree

14 files changed

+30
-22
lines changed

14 files changed

+30
-22
lines changed

x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/external/alibabacloudsearch/AlibabaCloudSearchResponseHandler.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
package org.elasticsearch.xpack.inference.external.alibabacloudsearch;
99

1010
import org.apache.logging.log4j.Logger;
11+
import org.elasticsearch.rest.RestStatus;
1112
import org.elasticsearch.xpack.inference.external.http.HttpResult;
1213
import org.elasticsearch.xpack.inference.external.http.retry.BaseResponseHandler;
1314
import org.elasticsearch.xpack.inference.external.http.retry.ResponseParser;
@@ -43,7 +44,7 @@ public void validateResponse(ThrottlerManager throttlerManager, Logger logger, R
4344
*/
4445
void checkForFailureStatusCode(Request request, HttpResult result) throws RetryException {
4546
int statusCode = result.response().getStatusLine().getStatusCode();
46-
if (statusCode >= 200 && statusCode < 300) {
47+
if (RestStatus.isSuccessful(statusCode)) {
4748
return;
4849
}
4950

x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/external/anthropic/AnthropicResponseHandler.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,12 +61,12 @@ public void validateResponse(ThrottlerManager throttlerManager, Logger logger, R
6161
* @throws RetryException Throws if status code is {@code >= 300 or < 200 }
6262
*/
6363
void checkForFailureStatusCode(Request request, HttpResult result) throws RetryException {
64-
int statusCode = result.response().getStatusLine().getStatusCode();
65-
if (statusCode >= 200 && statusCode < 300) {
64+
if (result.isSuccessfulResponse()) {
6665
return;
6766
}
6867

6968
// handle error codes
69+
int statusCode = result.response().getStatusLine().getStatusCode();
7070
if (statusCode == 500) {
7171
throw new RetryException(true, buildError(SERVER_ERROR, request, result));
7272
} else if (statusCode == 529) {

x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/external/cohere/CohereResponseHandler.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -74,12 +74,12 @@ public InferenceServiceResults parseResult(Request request, Flow.Publisher<HttpR
7474
* @throws RetryException Throws if status code is {@code >= 300 or < 200 }
7575
*/
7676
void checkForFailureStatusCode(Request request, HttpResult result) throws RetryException {
77-
int statusCode = result.response().getStatusLine().getStatusCode();
78-
if (statusCode >= 200 && statusCode < 300) {
77+
if (result.isSuccessfulResponse()) {
7978
return;
8079
}
8180

8281
// handle error codes
82+
int statusCode = result.response().getStatusLine().getStatusCode();
8383
if (statusCode == 500) {
8484
throw new RetryException(true, buildError(SERVER_ERROR, request, result));
8585
} else if (statusCode > 500) {

x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/external/elastic/ElasticInferenceServiceResponseHandler.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,11 @@ public void validateResponse(ThrottlerManager throttlerManager, Logger logger, R
3333
}
3434

3535
void checkForFailureStatusCode(Request request, HttpResult result) throws RetryException {
36-
int statusCode = result.response().getStatusLine().getStatusCode();
37-
if (statusCode >= 200 && statusCode < 300) {
36+
if (result.isSuccessfulResponse()) {
3837
return;
3938
}
4039

40+
int statusCode = result.response().getStatusLine().getStatusCode();
4141
if (statusCode == 500) {
4242
throw new RetryException(true, buildError(SERVER_ERROR, request, result));
4343
} else if (statusCode == 400) {

x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/external/googleaistudio/GoogleAiStudioResponseHandler.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,12 +43,12 @@ public void validateResponse(ThrottlerManager throttlerManager, Logger logger, R
4343
* @throws RetryException Throws if status code is {@code >= 300 or < 200 }
4444
*/
4545
void checkForFailureStatusCode(Request request, HttpResult result) throws RetryException {
46-
int statusCode = result.response().getStatusLine().getStatusCode();
47-
if (statusCode >= 200 && statusCode < 300) {
46+
if (result.isSuccessfulResponse()) {
4847
return;
4948
}
5049

5150
// handle error codes
51+
int statusCode = result.response().getStatusLine().getStatusCode();
5252
if (statusCode == 500) {
5353
throw new RetryException(true, buildError(SERVER_ERROR, request, result));
5454
} else if (statusCode == 503) {

x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/external/googlevertexai/GoogleVertexAiResponseHandler.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,12 +35,12 @@ public void validateResponse(ThrottlerManager throttlerManager, Logger logger, R
3535
}
3636

3737
void checkForFailureStatusCode(Request request, HttpResult result) throws RetryException {
38-
int statusCode = result.response().getStatusLine().getStatusCode();
39-
if (statusCode >= 200 && statusCode < 300) {
38+
if (result.isSuccessfulResponse()) {
4039
return;
4140
}
4241

4342
// handle error codes
43+
int statusCode = result.response().getStatusLine().getStatusCode();
4444
if (statusCode == 500) {
4545
throw new RetryException(true, buildError(SERVER_ERROR, request, result));
4646
} else if (statusCode == 503) {

x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/external/http/HttpResult.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import org.apache.http.HttpResponse;
1111
import org.elasticsearch.common.unit.ByteSizeValue;
1212
import org.elasticsearch.core.Streams;
13+
import org.elasticsearch.rest.RestStatus;
1314
import org.elasticsearch.xpack.inference.common.SizeLimitInputStream;
1415

1516
import java.io.ByteArrayOutputStream;
@@ -47,4 +48,8 @@ private static byte[] limitBody(ByteSizeValue maxResponseSize, HttpResponse resp
4748
public boolean isBodyEmpty() {
4849
return body().length == 0;
4950
}
51+
52+
public boolean isSuccessfulResponse() {
53+
return RestStatus.isSuccessful(response.getStatusLine().getStatusCode());
54+
}
5055
}

x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/external/huggingface/HuggingFaceResponseHandler.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,11 @@ public void validateResponse(ThrottlerManager throttlerManager, Logger logger, R
4141
* @throws RetryException thrown if status code is {@code >= 300 or < 200}
4242
*/
4343
void checkForFailureStatusCode(Request request, HttpResult result) throws RetryException {
44-
int statusCode = result.response().getStatusLine().getStatusCode();
45-
if (statusCode >= 200 && statusCode < 300) {
44+
if (result.isSuccessfulResponse()) {
4645
return;
4746
}
4847

48+
int statusCode = result.response().getStatusLine().getStatusCode();
4949
if (statusCode == 503 || statusCode == 502 || statusCode == 429) {
5050
throw new RetryException(true, buildError(RATE_LIMIT, request, result));
5151
} else if (statusCode >= 500) {

x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/external/ibmwatsonx/IbmWatsonxResponseHandler.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,11 +42,11 @@ public void validateResponse(ThrottlerManager throttlerManager, Logger logger, R
4242
* @throws RetryException thrown if status code is {@code >= 300 or < 200}
4343
*/
4444
void checkForFailureStatusCode(Request request, HttpResult result) throws RetryException {
45-
int statusCode = result.response().getStatusLine().getStatusCode();
46-
if (statusCode >= 200 && statusCode < 300) {
45+
if (result.isSuccessfulResponse()) {
4746
return;
4847
}
4948

49+
int statusCode = result.response().getStatusLine().getStatusCode();
5050
if (statusCode == 500) {
5151
throw new RetryException(true, buildError(SERVER_ERROR, request, result));
5252
} else if (statusCode == 404) {

x-pack/plugin/inference/src/main/java/org/elasticsearch/xpack/inference/external/openai/OpenAiResponseHandler.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -67,12 +67,12 @@ public void validateResponse(ThrottlerManager throttlerManager, Logger logger, R
6767
* @throws RetryException Throws if status code is {@code >= 300 or < 200 }
6868
*/
6969
void checkForFailureStatusCode(Request request, HttpResult result) throws RetryException {
70-
int statusCode = result.response().getStatusLine().getStatusCode();
71-
if (statusCode >= 200 && statusCode < 300) {
70+
if (result.isSuccessfulResponse()) {
7271
return;
7372
}
7473

7574
// handle error codes
75+
int statusCode = result.response().getStatusLine().getStatusCode();
7676
if (statusCode == 500) {
7777
throw new RetryException(true, buildError(SERVER_ERROR, request, result));
7878
} else if (statusCode == 503) {

0 commit comments

Comments
 (0)