private void prettyPrint(byte[] bytes) { boolean newLine = true; for (int i = 0; i < bytes.length; i++) { if (bytes[i] == '<') { if (i + 1 < bytes.length) { if (bytes[i + 1] == '/') { level--; } else { level++; } } for (int j = 0; newLine && j < level; j++) { config.getTraceStream().print(" "); } } config.getTraceStream().write(bytes[i]); if (bytes[i] == '>') { if (i + 1 < bytes.length && bytes[i + 1] == '<') { config.getTraceStream().println(); newLine = true; } else { newLine = false; } } } }
public TeeInputStream(ConnectorConfig config, byte[] bytes) { this.config = config; config.getTraceStream().println("------------ Response start ----------"); if (config.isPrettyPrintXml()) { prettyPrint(bytes); } else { config.getTraceStream().print(new String(bytes)); } config.getTraceStream().println(); config.getTraceStream().println("------------ Response end ----------"); }
private static HttpURLConnection createConnection( ConnectorConfig config, URL url, HashMap<String, String> httpHeaders, boolean enableCompression) throws IOException { if (config.isTraceMessage()) { config .getTraceStream() .println( "WSC: Creating a new connection to " + url + " Proxy = " + config.getProxy() + " username " + config.getProxyUsername()); } HttpURLConnection connection = (HttpURLConnection) url.openConnection(config.getProxy()); connection.addRequestProperty("User-Agent", VersionInfo.info()); /* * Add all the client specific headers here */ if (config.getHeaders() != null) { for (Entry<String, String> ent : config.getHeaders().entrySet()) { connection.setRequestProperty(ent.getKey(), ent.getValue()); } } if (enableCompression && config.isCompression()) { connection.addRequestProperty("Content-Encoding", "gzip"); connection.addRequestProperty("Accept-Encoding", "gzip"); } if (config.getProxyUsername() != null) { String token = config.getProxyUsername() + ":" + config.getProxyPassword(); String auth = "Basic " + new String(Base64.encode(token.getBytes())); connection.addRequestProperty("Proxy-Authorization", auth); connection.addRequestProperty("Https-Proxy-Authorization", auth); } if (httpHeaders != null) { for (Map.Entry<String, String> entry : httpHeaders.entrySet()) { connection.addRequestProperty(entry.getKey(), entry.getValue()); } } if (config.getReadTimeout() != 0) { connection.setReadTimeout(config.getReadTimeout()); } if (config.getConnectionTimeout() != 0) { connection.setConnectTimeout(config.getConnectionTimeout()); } return connection; }