Skip to content

Commit 3c9e5b9

Browse files
committed
Initial
1 parent c468a17 commit 3c9e5b9

4 files changed

Lines changed: 30 additions & 2 deletions

File tree

datamodel/odata-client/src/main/java/com/sap/cloud/sdk/datamodel/odata/client/request/ODataHealthyResponseValidator.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,13 +38,13 @@ class ODataHealthyResponseValidator
3838
static void requireHealthyResponse( @Nonnull final ODataRequestResult result )
3939
{
4040
final ODataRequestGeneric originalRequest = result.getODataRequest();
41-
final HttpResponse httpResponse = result.getHttpResponse();
42-
final StatusLine statusLine = httpResponse.getStatusLine();
41+
final StatusLine statusLine = result.getStatusLine();
4342

4443
if( statusLine != null && statusLine.getStatusCode() < HttpStatus.SC_BAD_REQUEST ) { // code < 400
4544
return;
4645
}
4746

47+
final HttpResponse httpResponse = result.getHttpResponse();
4848
final ODataRequestGeneric requestRelevantForException =
4949
findPotentialBatchItem(httpResponse, originalRequest).getOrElse(originalRequest);
5050

datamodel/odata-client/src/main/java/com/sap/cloud/sdk/datamodel/odata/client/request/ODataRequestResult.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,11 @@
77
import java.util.TreeMap;
88

99
import javax.annotation.Nonnull;
10+
import javax.annotation.Nullable;
1011

1112
import org.apache.http.Header;
1213
import org.apache.http.HttpResponse;
14+
import org.apache.http.StatusLine;
1315

1416
/**
1517
* Generic type of an OData request result.
@@ -32,6 +34,17 @@ public interface ODataRequestResult
3234
@Nonnull
3335
HttpResponse getHttpResponse();
3436

37+
/**
38+
* Get the HTTP response object status line.
39+
*
40+
* @return the StatusLine.
41+
*/
42+
@Nullable
43+
default StatusLine getStatusLine()
44+
{
45+
return getHttpResponse().getStatusLine();
46+
}
47+
3548
/**
3649
* Get the iterable list of HTTP response header names.
3750
*

datamodel/odata-client/src/main/java/com/sap/cloud/sdk/datamodel/odata/client/request/ODataRequestResultGeneric.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,13 @@ public ODataRequestResultGeneric(
126126
deserializer = new ODataResponseDeserializer(protocol);
127127
}
128128

129+
@Nullable
130+
@Override
131+
public StatusLine getStatusLine()
132+
{
133+
return httpResponse.getStatusLine(); // not trigger buffer
134+
}
135+
129136
/**
130137
* Set the default number deserialization strategy for generic JSON numbers without target type mapping.
131138
*

datamodel/odata-client/src/main/java/com/sap/cloud/sdk/datamodel/odata/client/request/ODataRequestResultMultipartGeneric.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88

99
import org.apache.http.HttpEntity;
1010
import org.apache.http.HttpResponse;
11+
import org.apache.http.StatusLine;
1112
import org.apache.http.util.EntityUtils;
1213

1314
import com.sap.cloud.sdk.datamodel.odata.client.exception.ODataDeserializationException;
@@ -61,6 +62,13 @@ public class ODataRequestResultMultipartGeneric
6162
this.httpResponse = httpResponse;
6263
}
6364

65+
@Nullable
66+
@Override
67+
public StatusLine getStatusLine()
68+
{
69+
return httpResponse.getStatusLine(); // not trigger buffer
70+
}
71+
6472
/**
6573
* Get the original {@link ODataRequestBatch batch request} that was used for running the OData request.
6674
*

0 commit comments

Comments
 (0)