Skip to content

Commit

Permalink
Close some resource leaks in Grid
Browse files Browse the repository at this point in the history
  • Loading branch information
shs96c committed May 15, 2017
1 parent a5a7bb0 commit 8cf16ea
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 23 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@

package org.openqa.grid.internal.utils;

import com.google.common.io.CharStreams;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;

Expand All @@ -43,6 +44,7 @@
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;
import java.net.MalformedURLException;
import java.net.URL;
import java.security.InvalidParameterException;
Expand Down Expand Up @@ -370,14 +372,11 @@ private boolean isAlreadyRegistered(RegistrationRequest node) {
}

private static JsonObject extractObject(HttpResponse resp) throws IOException {
BufferedReader rd = new BufferedReader(new InputStreamReader(resp.getEntity().getContent()));
StringBuilder s = new StringBuilder();
String line;
while ((line = rd.readLine()) != null) {
s.append(line);
try (Reader rd = new BufferedReader(new InputStreamReader(resp.getEntity().getContent()))) {
StringBuilder s = new StringBuilder();
CharStreams.copy(rd, s);
return new JsonParser().parse(s.toString()).getAsJsonObject();
}
rd.close();
return new JsonParser().parse(s.toString()).getAsJsonObject();
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
package org.openqa.grid.web.servlet;

import com.google.common.collect.Lists;
import com.google.common.io.CharStreams;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
Expand Down Expand Up @@ -71,17 +72,15 @@ protected void doPost(HttpServletRequest request, HttpServletResponse response)

protected void process(HttpServletRequest request, HttpServletResponse response)
throws IOException {
BufferedReader rd = new BufferedReader(new InputStreamReader(request.getInputStream()));
StringBuilder requestJsonString = new StringBuilder();
String line;
while ((line = rd.readLine()) != null) {
requestJsonString.append(line);
String requestJsonString;

try (BufferedReader rd = new BufferedReader(new InputStreamReader(request.getInputStream()))) {
requestJsonString = CharStreams.toString(rd);
}
rd.close();
log.fine("getting the following registration request : " + requestJsonString.toString());
log.fine("getting the following registration request : " + requestJsonString);

// getting the settings from the registration
JsonObject json = new JsonParser().parse(requestJsonString.toString()).getAsJsonObject();
JsonObject json = new JsonParser().parse(requestJsonString).getAsJsonObject();

if (!json.has("configuration")) {
// bad request. there must be a configuration for the proxy
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@

package org.openqa.grid.web.servlet;

import com.google.common.io.CharStreams;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
import com.google.gson.JsonSyntaxException;
Expand All @@ -30,6 +31,7 @@
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
Expand Down Expand Up @@ -77,18 +79,13 @@ protected void process(HttpServletRequest request, HttpServletResponse response)
private JsonObject getResponse(HttpServletRequest request) throws IOException {
JsonObject requestJSON = null;
if (request.getInputStream() != null) {
BufferedReader rd = new BufferedReader(new InputStreamReader(request.getInputStream()));
StringBuilder s = new StringBuilder();
String line;
while ((line = rd.readLine()) != null) {
s.append(line);
String json;
try (Reader rd = new BufferedReader(new InputStreamReader(request.getInputStream()))) {
json = CharStreams.toString(rd);
}
rd.close();
String json = s.toString();
if (!"".equals(json)) {
requestJSON = new JsonParser().parse(json).getAsJsonObject();
}

}

JsonObject res = new JsonObject();
Expand Down

0 comments on commit 8cf16ea

Please sign in to comment.