From 81cf6ae280db695e3fc2eb1d845acc22a199cf93 Mon Sep 17 00:00:00 2001 From: Ryan Amari Date: Tue, 28 Jan 2025 09:53:39 -0500 Subject: [PATCH] Fix character encoding for binary files --- .../harvard/dbmi/avillach/service/ResourceWebClient.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pic-sure-resources/pic-sure-resource-api/src/main/java/edu/harvard/dbmi/avillach/service/ResourceWebClient.java b/pic-sure-resources/pic-sure-resource-api/src/main/java/edu/harvard/dbmi/avillach/service/ResourceWebClient.java index ca335ad6..01d5aee8 100644 --- a/pic-sure-resources/pic-sure-resource-api/src/main/java/edu/harvard/dbmi/avillach/service/ResourceWebClient.java +++ b/pic-sure-resources/pic-sure-resource-api/src/main/java/edu/harvard/dbmi/avillach/service/ResourceWebClient.java @@ -21,6 +21,7 @@ import javax.ws.rs.core.HttpHeaders; import javax.ws.rs.core.Response; import java.io.IOException; +import java.io.UncheckedIOException; import java.net.URISyntaxException; import java.nio.charset.StandardCharsets; import java.util.Map; @@ -240,15 +241,16 @@ public Response queryResult(String rsURL, String queryId, QueryRequest queryRequ HttpClientUtil.composeURL(rsURL, pathName), createHeaders(queryRequest.getResourceCredentials()), body ); - String content = httpClientUtil.readObjectFromResponse(resourcesResponse, StandardCharsets.ISO_8859_1); if (resourcesResponse.getStatusLine().getStatusCode() != 200) { logger.error("ResourceRS did not return a 200"); HttpClientUtil.throwResponseError(resourcesResponse, rsURL); } - return Response.ok(content).build(); + return Response.ok(resourcesResponse.getEntity().getContent()).build(); } catch (JsonProcessingException e) { logger.error("Unable to encode resource credentials"); throw new NotAuthorizedException("Unable to encode resource credentials", e); + } catch (IOException e) { + throw new UncheckedIOException(e); } finally { closeHttpResponse(resourcesResponse); }