~ handlers pt.1.

pull/1/head
Ivan Olexyn 5 years ago
parent cd35a086c3
commit 2c2ad88319

@ -11,12 +11,20 @@ import javax.servlet.http.HttpServletResponse;
import java.io.*; import java.io.*;
import java.net.HttpURLConnection; import java.net.HttpURLConnection;
import java.net.URL; import java.net.URL;
import java.util.ArrayList;
import java.util.List;
public final class ClientServlet extends HttpServlet { public final class ClientServlet extends HttpServlet {
private static final String MISP_BRIDGE_URL = "http://localhost:9090/mispbridge/core"; private static final String MISP_BRIDGE_URL = "http://localhost:9090/mispbridge/core";
private List<Ride> availableRides = new ArrayList<>();
private List<Ride> reservedRides = new ArrayList<>();
private List<Ride> newRequests = new ArrayList<>();
private List<Ride> forwardedRequests = new ArrayList<>();
private List<Ride> newData = new ArrayList<>();
private List<Ride> forwardedData = new ArrayList<>();
public ClientServlet() { public ClientServlet() {
@ -87,9 +95,6 @@ public final class ClientServlet extends HttpServlet {
writer.println("</tr>"); writer.println("</tr>");
writer.println(make2ColumnRow("foo", "bar")); writer.println(make2ColumnRow("foo", "bar"));
writer.println(make2ColumnRow("sendGet", sendGet()));
writer.println(make2ColumnRow("sendPost", sendPost()));
writer.println("</table>"); writer.println("</table>");
writer.println("</body>"); writer.println("</body>");
@ -97,7 +102,7 @@ public final class ClientServlet extends HttpServlet {
} }
private String make2ColumnRow(String one, String two){ private String make2ColumnRow(String one, String two) {
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
sb.append("<tr>"); sb.append("<tr>");
sb.append("<td>"); sb.append("<td>");
@ -112,84 +117,175 @@ public final class ClientServlet extends HttpServlet {
} }
private String sendGet() throws IOException { private String sendGet() throws IOException {
URL url = new URL(MISP_BRIDGE_URL);
HttpURLConnection con = (HttpURLConnection) url.openConnection();
URL url = new URL(MISP_BRIDGE_URL); // By default it is GET request
HttpURLConnection con = (HttpURLConnection) url.openConnection(); con.setRequestMethod("GET");
// By default it is GET request //add request header
con.setRequestMethod("GET"); con.setRequestProperty("User-Agent", "USER_AGENT");
//add request header int responseCode = con.getResponseCode();
con.setRequestProperty("User-Agent", "USER_AGENT"); System.out.println("Sending get request : " + url);
System.out.println("Response code : " + responseCode);
int responseCode = con.getResponseCode(); // Reading response from input Stream
System.out.println("Sending get request : " + url); BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
System.out.println("Response code : " + responseCode); String output;
StringBuffer response = new StringBuffer();
while ((output = in.readLine()) != null) {
response.append(output);
}
in.close();
// Reading response from input Stream
BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
String output;
StringBuffer response = new StringBuffer();
while ((output = in.readLine()) != null) { return response.toString();
response.append(output); //printing result from response
}
in.close();
return response.toString(); }
//printing result from response
private void sendPostRide() throws IOException {
URL url = new URL(MISP_BRIDGE_URL);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
// prepare
connection.setRequestMethod("POST");
connection.setRequestProperty("User-Agent", "USER_AGENT");
connection.setRequestProperty("Accept-Language", "en-US,en;q=0.5");
connection.setRequestProperty("Content-Type", "application/json");
Ride ride = new Ride();
availableRides.add(ride);
// send POST
connection.setDoOutput(true);
DataOutputStream outputStream = new DataOutputStream(connection.getOutputStream());
outputStream.writeBytes(ride.json());
outputStream.flush();
outputStream.close();
// read OK
int responseCode = connection.getResponseCode();
BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String output;
StringBuilder response = new StringBuilder();
while ((output = in.readLine()) != null) {
response.append(output);
}
in.close();
// process
availableRides.remove(ride);
reservedRides.add(ride);
} }
private void sendGetRide(Ride ride) throws IOException {
URL url = new URL(MISP_BRIDGE_URL);
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
// prepare
connection.setRequestMethod("GET");
connection.setRequestProperty("User-Agent", "USER_AGENT");
connection.setRequestProperty("Accept-Language", "en-US,en;q=0.5");
connection.setRequestProperty("Content-Type", "application/json");
// send POST
connection.setDoOutput(true);
DataOutputStream outputStream = new DataOutputStream(connection.getOutputStream());
outputStream.writeBytes(ride.json());
outputStream.flush();
outputStream.close();
// read OK
int responseCode = connection.getResponseCode();
BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
String output;
StringBuilder response = new StringBuilder();
while ((output = in.readLine()) != null) {
response.append(output);
}
in.close();
private String sendPost() throws IOException{
Ride rideRequest = new Ride(response.toString());
// process
// TODO add checks
reservedRides.remove(ride);
newRequests.add(rideRequest);
sendGetRequest(rideRequest.getRequest());
newRequests.remove(rideRequest);
forwardedRequests.add(rideRequest);
}
private void sendGetRequest(String request) throws IOException {
URL url = new URL(MISP_BRIDGE_URL); URL url = new URL(MISP_BRIDGE_URL);
HttpURLConnection con = (HttpURLConnection) url.openConnection(); HttpURLConnection connection = (HttpURLConnection) url.openConnection();
// Setting basic post request // prepare
con.setRequestMethod("POST"); connection.setRequestMethod("GET");
con.setRequestProperty("User-Agent", "USER_AGENT"); connection.setRequestProperty("User-Agent", "USER_AGENT");
con.setRequestProperty("Accept-Language", "en-US,en;q=0.5"); connection.setRequestProperty("Accept-Language", "en-US,en;q=0.5");
con.setRequestProperty("Content-Type","application/json"); connection.setRequestProperty("Content-Type", "application/json");
String postJsonData = "{\"id\":5,\"countryName\":\"USA\",\"population\":8000}";
// Send post request // TODO replace
con.setDoOutput(true); Ride ride = new Ride();
DataOutputStream wr = new DataOutputStream(con.getOutputStream());
wr.writeBytes(postJsonData);
wr.flush();
wr.close();
int responseCode = con.getResponseCode(); // send POST
System.out.println("nSending 'POST' request to URL : " + url); connection.setDoOutput(true);
System.out.println("Post Data : " + postJsonData); DataOutputStream outputStream = new DataOutputStream(connection.getOutputStream());
System.out.println("Response Code : " + responseCode); outputStream.writeBytes(ride.json());
outputStream.flush();
outputStream.close();
// read OK
int responseCode = connection.getResponseCode();
BufferedReader in = new BufferedReader( BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
new InputStreamReader(con.getInputStream()));
String output; String output;
StringBuffer response = new StringBuffer(); StringBuilder response = new StringBuilder();
while ((output = in.readLine()) != null) { while ((output = in.readLine()) != null) {
response.append(output); response.append(output);
} }
in.close(); in.close();
//printing result from response
System.out.println();
Ride rideRequest = new Ride(response.toString());
return response.toString(); // process
// TODO add checks
reservedRides.remove(ride);
newRequests.add(ride);
} }
} }

Loading…
Cancel
Save