return error if no subreddit is specified

master
adb 3 years ago
parent f4ab8147c6
commit 6f9f7b87d2

@ -33,12 +33,32 @@ class CommunityHandler implements HttpHandler {
subJSON.put("permalink", sub.getPermalink()); subJSON.put("permalink", sub.getPermalink());
return subJSON; return subJSON;
} }
private void sendResponse(HttpExchange t, String response) throws IOException {
System.out.println("response > "+response);
Headers headers = t.getResponseHeaders();
headers.set("Content-Type", "application/json; charset=UTF-8");
System.out.println(response.length());
OutputStream os = t.getResponseBody();
headers.add("Connection", "close");
t.sendResponseHeaders(200, response.length());
os.write(response.getBytes(StandardCharsets.UTF_8));
os.close();
}
@Override @Override
public void handle(HttpExchange t) throws IOException { public void handle(HttpExchange t) throws IOException {
System.out.println("request at > "+t.getRequestURI().toString()); System.out.println("request at > "+t.getRequestURI().toString());
String[] pathArray = t.getRequestURI().toString().split("/", -1); String[] pathArray = t.getRequestURI().toString().split("/", -1);
JSONObject responseJSON = new JSONObject();
JSONArray subsJSON = new JSONArray();
if (pathArray.length < 5 || pathArray[4].equals("")){
responseJSON.put("error", "no subreddit specified");
sendResponse(t, responseJSON.toString());
return;
}
List<Submission> submissions = null; List<Submission> submissions = null;
try { try {
submissions = this.api.getSub(pathArray[4]); submissions = this.api.getSub(pathArray[4]);
@ -47,8 +67,6 @@ class CommunityHandler implements HttpHandler {
} }
assert submissions != null; assert submissions != null;
JSONObject responseJSON = new JSONObject();
JSONArray subsJSON = new JSONArray();
if ( pathArray.length < 6 || pathArray[5].equals("") || pathArray[5].equals("random")) { if ( pathArray.length < 6 || pathArray[5].equals("") || pathArray[5].equals("random")) {
Random rand = new Random(); Random rand = new Random();
subsJSON.put(subToJSON( subsJSON.put(subToJSON(
@ -76,16 +94,6 @@ class CommunityHandler implements HttpHandler {
} }
} }
responseJSON.put("subs", subsJSON); responseJSON.put("subs", subsJSON);
sendResponse(t, responseJSON.toString());
String response = responseJSON.toString();
System.out.println("response > "+response);
Headers headers = t.getResponseHeaders();
headers.set("Content-Type", "application/json; charset=UTF-8");
System.out.println(response.length());
OutputStream os = t.getResponseBody();
headers.add("Connection", "close");
t.sendResponseHeaders(200, response.length());
os.write(response.getBytes(StandardCharsets.UTF_8));
os.close();
} }
} }

Loading…
Cancel
Save