in wilma-extras/replicator/src/main/java/com/epam/wilma/extras/replicator/secondaryClient/SecondaryRequestHandler.java [79:114]
private WilmaHttpResponse transferResponse(HttpResponse response, HttpRequestBase method, String messageId, String serverIpAddress) {
WilmaHttpResponse result = new WilmaHttpResponse(false);
try {
for (Header header : method.getAllHeaders()) {
result.addHeader(header.getName(), header.getValue());
}
int status = response.getStatusLine().getStatusCode();
result.setContentType(response.getFirstHeader("Content-Type").getValue());
InputStream inputStream = response.getEntity().getContent();
Header contentEncodingHeader = response.getFirstHeader("Content-Encoding");
if (contentEncodingHeader != null) {
String encoding = contentEncodingHeader.getValue();
if ((encoding != null) && (encoding.toLowerCase().contains("gzip"))) {
inputStream = gzipDecompressor.decompress(inputStream);
}
}
StringWriter writer = new StringWriter();
IOUtils.copy(inputStream, writer, "UTF-8");
String body = writer.toString();
result.setBody(body);
result.setStatusCode(status);
//set Wilma Message Id
result.setWilmaMessageId(messageId);
//set remote addr
result.setRemoteAddr(serverIpAddress);
} catch (IOException e) {
logger.error("Secondary Response Transfer Issue", e);
}
return result;
}