private WilmaHttpResponse transferResponse()

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;
    }