Refactored send get-request

This commit is contained in:
Marc Beyer 2022-01-25 19:19:18 +01:00
parent f1f07a3515
commit f0e431bf6c

View File

@ -4,6 +4,7 @@ import helper.Tuple;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
@ -17,48 +18,52 @@ public class HttpRequest {
byte[] postData = urlParameters.getBytes(StandardCharsets.UTF_8);
int postDataLength = postData.length;
/*
URL url = new URL("http://test.de:8080/event/add");
HttpURLConnection http = (HttpURLConnection)url.openConnection();
http.setRequestMethod("POST");
http.setDoOutput(true);
http.setRequestProperty("Accept", "application/json");
http.setRequestProperty("Authorization", "Bearer {token}");
http.setRequestProperty("Content-Type", "");
http.setRequestProperty("Content-Length", "0");
System.out.println(http.getResponseCode() + " " + http.getResponseMessage());
http.disconnect();
*/
URL url = new URL(urlString);
HttpURLConnection con = (HttpURLConnection) url.openConnection();
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
con.setDoOutput(true);
con.setInstanceFollowRedirects(false);
con.setRequestMethod("POST");
con.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
con.setRequestProperty("charset", "utf-8");
con.setRequestProperty("Content-Length", Integer.toString(postDataLength));
con.setUseCaches(false);
connection.setDoOutput(true);
connection.setInstanceFollowRedirects(false);
connection.setRequestMethod("POST");
connection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
connection.setRequestProperty("charset", "utf-8");
connection.setRequestProperty("Content-Length", Integer.toString(postDataLength));
connection.setUseCaches(false);
if(sendAuth){
con.setRequestProperty("Accept", "application/json");
con.setRequestProperty("Authorization", "Bearer " + TOKEN);
connection.setRequestProperty("Accept", "application/json");
connection.setRequestProperty("Authorization", "Bearer " + TOKEN);
}
try (DataOutputStream wr = new DataOutputStream(con.getOutputStream())) {
wr.write(postData);
try (DataOutputStream writer = new DataOutputStream(connection.getOutputStream())) {
writer.write(postData);
}
int status = con.getResponseCode();
return getHttpTuple(connection);
}
public Tuple<Integer, String> sendGetRequest(String urlString) throws Exception {
URL url = new URL(urlString);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
connection.setRequestMethod("GET");
connection.setConnectTimeout(5000);
connection.setReadTimeout(5000);
int status = connection.getResponseCode();
return getHttpTuple(connection);
}
private Tuple<Integer, String> getHttpTuple(HttpURLConnection connection) throws IOException {
int status = connection.getResponseCode();
String inputLine;
StringBuilder content = new StringBuilder();
BufferedReader in;
if (status == 200) {
in = new BufferedReader(new InputStreamReader(con.getInputStream()));
in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
} else {
in = new BufferedReader(new InputStreamReader(con.getErrorStream()));
in = new BufferedReader(new InputStreamReader(connection.getErrorStream()));
}
while ((inputLine = in.readLine()) != null) {
@ -66,36 +71,8 @@ public class HttpRequest {
}
in.close();
con.disconnect();
connection.disconnect();
return new Tuple<>(status, content.toString());
}
public String sendGetRequest(String urlString) throws Exception {
URL url = new URL(urlString);
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setRequestMethod("GET");
con.setConnectTimeout(5000);
con.setReadTimeout(5000);
int status = con.getResponseCode();
if (status == 200) {
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuilder content = new StringBuilder();
while ((inputLine = in.readLine()) != null) {
content.append(inputLine);
}
in.close();
con.disconnect();
return content.toString();
} else {
con.disconnect();
throw new Exception("Status: " + status);
}
}
}