Skip to content

Commit 75eab85

Browse files
Merge branch 'java-poc' of gitlab-odx.oracledx.com:weblogic/image-builder into java-poc
Former-commit-id: 5fe6b55b73de41145301b269cab278c54abd4c0d
2 parents 6a8b2ca + 1369190 commit 75eab85

File tree

1 file changed

+51
-41
lines changed
  • src/main/java/com/oracle/weblogicx/imagebuilder/builder/util

1 file changed

+51
-41
lines changed

src/main/java/com/oracle/weblogicx/imagebuilder/builder/util/HttpUtil.java

Lines changed: 51 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,28 @@
33
import java.io.File;
44
import java.io.IOException;
55
import java.io.StringReader;
6+
import java.io.StringWriter;
7+
import java.io.Writer;
68

79
import javax.xml.parsers.DocumentBuilder;
810
import javax.xml.parsers.DocumentBuilderFactory;
911
import javax.xml.parsers.ParserConfigurationException;
12+
import javax.xml.transform.OutputKeys;
13+
import javax.xml.transform.Transformer;
14+
import javax.xml.transform.TransformerFactory;
15+
import javax.xml.transform.dom.DOMSource;
16+
import javax.xml.transform.stream.StreamResult;
1017

1118
import org.apache.http.HttpEntity;
1219
import org.apache.http.client.ClientProtocolException;
1320
import org.apache.http.client.CookieStore;
1421
import org.apache.http.client.config.RequestConfig;
1522
import org.apache.http.client.fluent.Executor;
1623
import org.apache.http.client.fluent.Request;
24+
import org.apache.http.entity.mime.FormBodyPartBuilder;
1725
import org.apache.http.entity.mime.HttpMultipartMode;
1826
import org.apache.http.entity.mime.MultipartEntityBuilder;
27+
import org.apache.http.entity.mime.content.FileBody;
1928
import org.apache.http.impl.client.BasicCookieStore;
2029
import org.apache.http.impl.client.CloseableHttpClient;
2130
import org.apache.http.impl.client.HttpClientBuilder;
@@ -26,102 +35,103 @@
2635

2736
public class HttpUtil {
2837

29-
3038
public static Document getXMLContent(String url, String username, String password) throws IOException {
3139

3240
RequestConfig.Builder config = RequestConfig.custom();
3341
config.setCircularRedirectsAllowed(true);
3442

35-
3643
CookieStore cookieStore = new BasicCookieStore();
3744
BasicClientCookie cc = new BasicClientCookie("oraclelicense", "a");
3845
cc.setDomain("edelivery.oracle.com");
3946
cookieStore.addCookie(cc);
4047

41-
CloseableHttpClient client = HttpClientBuilder.create()
42-
.setDefaultRequestConfig(config.build())
43-
.useSystemProperties()
44-
.build();
48+
CloseableHttpClient client =
49+
HttpClientBuilder.create().setDefaultRequestConfig(config.build()).useSystemProperties().build();
4550

4651
Executor httpExecutor = Executor.newInstance(client).auth(username, password);
4752
httpExecutor.use(cookieStore);
4853

49-
String xmlString = httpExecutor.execute(Request.Get(url)
50-
.connectTimeout(30000)
51-
.socketTimeout(30000)).returnContent().asString();
54+
String xmlString =
55+
httpExecutor.execute(Request.Get(url).connectTimeout(30000).socketTimeout(30000)).returnContent()
56+
.asString();
5257

5358
try {
5459
DocumentBuilderFactory dbfac = DocumentBuilderFactory.newInstance();
5560
DocumentBuilder docBuilder = dbfac.newDocumentBuilder();
5661
InputSource is = new InputSource(new StringReader(xmlString));
57-
return docBuilder.parse(is);
62+
Document doc = docBuilder.parse(is);
63+
prettyPrint(doc);
64+
return doc;
5865
} catch (ParserConfigurationException ex) {
5966
throw new IllegalStateException(ex);
6067
} catch (SAXException ex) {
6168
throw new ClientProtocolException("Malformed XML document", ex);
69+
} catch (Exception g) {
70+
throw new IllegalStateException(g);
71+
6272
}
6373

6474
}
6575

66-
public static void downloadFile(String url, String destination, String username, String password) throws
67-
IOException {
76+
public static final void prettyPrint(Document xml) throws Exception {
77+
Transformer tf = TransformerFactory.newInstance().newTransformer();
78+
tf.setOutputProperty(OutputKeys.ENCODING, "UTF-8");
79+
tf.setOutputProperty(OutputKeys.INDENT, "yes");
80+
Writer out = new StringWriter();
81+
tf.transform(new DOMSource(xml), new StreamResult(out));
82+
System.out.println(out.toString());
83+
}
84+
85+
public static void downloadFile(String url, String destination, String username, String password)
86+
throws IOException {
6887
RequestConfig.Builder config = RequestConfig.custom();
6988
config.setCircularRedirectsAllowed(true);
7089
// config.setCookieSpec(CookieSpecs.BROWSER_COMPATIBILITY);
7190

72-
7391
CookieStore cookieStore = new BasicCookieStore();
7492
BasicClientCookie cc = new BasicClientCookie("oraclelicense", "a");
7593
cc.setDomain("edelivery.oracle.com");
7694
cookieStore.addCookie(cc);
7795

78-
CloseableHttpClient client = HttpClientBuilder.create()
79-
.setDefaultRequestConfig(config.build())
80-
.useSystemProperties()
81-
.build();
96+
CloseableHttpClient client =
97+
HttpClientBuilder.create().setDefaultRequestConfig(config.build()).useSystemProperties().build();
8298

8399
Executor httpExecutor = Executor.newInstance(client).auth(username, password);
84100
httpExecutor.use(cookieStore);
85101

86-
httpExecutor.execute(Request.Get(url)
87-
.connectTimeout(30000)
88-
.socketTimeout(30000)).saveContent(new File(destination));
102+
httpExecutor.execute(Request.Get(url).connectTimeout(30000).socketTimeout(30000))
103+
.saveContent(new File(destination));
89104

90105
}
91106

92-
public static String checkConflicts(String url, String payload, String username, String password) throws
93-
IOException {
107+
public static String checkConflicts(String url, String payload, String username, String password)
108+
throws IOException {
94109
RequestConfig.Builder config = RequestConfig.custom();
95110
config.setCircularRedirectsAllowed(true);
96111

97112
CookieStore cookieStore = new BasicCookieStore();
98113

99-
CloseableHttpClient client = HttpClientBuilder.create()
100-
.setDefaultRequestConfig(config.build())
101-
.useSystemProperties()
102-
.build();
114+
CloseableHttpClient client =
115+
HttpClientBuilder.create().setDefaultRequestConfig(config.build()).useSystemProperties().build();
103116

104117
Executor httpExecutor = Executor.newInstance(client).auth(username, password);
105118
httpExecutor.use(cookieStore);
106119

107-
HttpEntity entity = MultipartEntityBuilder.create()
108-
.setMode(HttpMultipartMode.BROWSER_COMPATIBLE)
109-
.addTextBody("request_xml", payload)
120+
// FormBodyPartBuilder.create(
121+
// "request_xml",
122+
// new StringBody(payload, ContentType.APPLICATION_XML)
123+
// ).build();
124+
125+
HttpEntity entity = MultipartEntityBuilder.create().setMode(HttpMultipartMode.BROWSER_COMPATIBLE)
126+
.addPart(FormBodyPartBuilder.create("request_xml", new FileBody(new File("/tmp/chkreq.xml"))).build())
110127
.build();
111128

112-
String result = httpExecutor.execute(Request.Post(url)
113-
.connectTimeout(30000)
114-
.socketTimeout(30000)
115-
.body(entity)
116-
).returnContent().asString();
129+
String response =
130+
httpExecutor.execute(Request.Post(url).connectTimeout(30000).socketTimeout(30000).body(entity))
131+
.returnContent().asString();
117132

118-
System.out.println(result);
119-
return result;
133+
System.out.println(response);
134+
return "";
120135
}
121136

122-
123-
public static void main(String args[]) throws IOException {
124-
125-
126-
}
127137
}

0 commit comments

Comments
 (0)