Skip to content

Commit 93e88d9

Browse files
committed
fix #470 - make sure responses are closed even when response status is unauthorized
(cherry picked from commit 3b26170)
1 parent 57f8dd1 commit 93e88d9

File tree

1 file changed

+9
-8
lines changed

1 file changed

+9
-8
lines changed

src/main/java/com/marklogic/client/impl/OkHttpServices.java

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -261,14 +261,14 @@ public OkHttpServices() {
261261

262262
private FailedRequest extractErrorFields(Response response) {
263263
if ( response == null ) return null;
264-
if ( response.code() == STATUS_UNAUTHORIZED ) {
265-
FailedRequest failure = new FailedRequest();
266-
failure.setMessageString("Unauthorized");
267-
failure.setStatusString("Failed Auth");
268-
return failure;
269-
}
270-
String responseBody = getEntity(response.body(), String.class);
271264
try {
265+
if ( response.code() == STATUS_UNAUTHORIZED ) {
266+
FailedRequest failure = new FailedRequest();
267+
failure.setMessageString("Unauthorized");
268+
failure.setStatusString("Failed Auth");
269+
return failure;
270+
}
271+
String responseBody = getEntity(response.body(), String.class);
272272
InputStream is = new ByteArrayInputStream(responseBody.getBytes("UTF-8"));
273273
FailedRequest handler = FailedRequest.getFailedRequest(response.code(), response.header(HEADER_CONTENT_TYPE), is);
274274
if ( handler.getMessage() == null ) {
@@ -1011,7 +1011,8 @@ public Response apply(Request.Builder funcBuilder) {
10111011
List<BodyPart> partList = getPartList(entity);
10121012

10131013
if (partCount != 2) {
1014-
throw new FailedRequestException("read expected 2 parts but got " + partCount + " parts");
1014+
throw new FailedRequestException("read expected 2 parts but got " + partCount + " parts",
1015+
extractErrorFields(response));
10151016
}
10161017

10171018
HandleImplementation metadataBase = HandleAccessor.as(metadataHandle);

0 commit comments

Comments
 (0)