mirror of
https://github.com/TeamPiped/Piped-Backend.git
synced 2024-08-14 23:51:41 +00:00
Manually close okhttp responses. (#210)
Ensure response is closed properly.
This commit is contained in:
parent
cec135933e
commit
02ca78ee7a
5 changed files with 39 additions and 19 deletions
|
@ -41,9 +41,12 @@ public class CaptchaSolver {
|
||||||
|
|
||||||
var builder = new Request.Builder().url(Constants.CAPTCHA_BASE_URL + "createTask")
|
var builder = new Request.Builder().url(Constants.CAPTCHA_BASE_URL + "createTask")
|
||||||
.post(RequestBody.create(JsonWriter.string(jObject), MediaType.get("application/json")));
|
.post(RequestBody.create(JsonWriter.string(jObject), MediaType.get("application/json")));
|
||||||
|
var resp = Constants.h2client.newCall(builder.build()).execute();
|
||||||
|
|
||||||
JsonObject taskObj = JsonParser.object()
|
JsonObject taskObj = JsonParser.object()
|
||||||
.from(Constants.h2client.newCall(builder.build()).execute().body().byteStream());
|
.from(resp.body().byteStream());
|
||||||
|
|
||||||
|
resp.close();
|
||||||
|
|
||||||
return taskObj.getInt("taskId");
|
return taskObj.getInt("taskId");
|
||||||
}
|
}
|
||||||
|
@ -62,9 +65,13 @@ public class CaptchaSolver {
|
||||||
.post(RequestBody.create(body, MediaType.get("application/json")));
|
.post(RequestBody.create(body, MediaType.get("application/json")));
|
||||||
|
|
||||||
builder.header("Content-Type", "application/json");
|
builder.header("Content-Type", "application/json");
|
||||||
|
var resp = Constants.h2client.newCall(builder.build()).execute();
|
||||||
|
|
||||||
|
|
||||||
JsonObject captchaObj = JsonParser.object()
|
JsonObject captchaObj = JsonParser.object()
|
||||||
.from(Constants.h2client.newCall(builder.build()).execute().body().byteStream());
|
.from(resp.body().byteStream());
|
||||||
|
|
||||||
|
resp.close();
|
||||||
|
|
||||||
if (captchaObj.getInt("errorId") != 0)
|
if (captchaObj.getInt("errorId") != 0)
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -58,9 +58,9 @@ public class DownloaderImpl extends Downloader {
|
||||||
|
|
||||||
request.headers().forEach((name, values) -> values.forEach(value -> builder.header(name, value)));
|
request.headers().forEach((name, values) -> values.forEach(value -> builder.header(name, value)));
|
||||||
|
|
||||||
var response = Constants.h2client.newCall(builder.build()).execute();
|
var resp = Constants.h2client.newCall(builder.build()).execute();
|
||||||
|
|
||||||
if (response.code() == 429) {
|
if (resp.code() == 429) {
|
||||||
|
|
||||||
synchronized (cookie_lock) {
|
synchronized (cookie_lock) {
|
||||||
|
|
||||||
|
@ -68,14 +68,14 @@ public class DownloaderImpl extends Downloader {
|
||||||
|| (System.currentTimeMillis() - cookie_received > TimeUnit.MINUTES.toMillis(30)))
|
|| (System.currentTimeMillis() - cookie_received > TimeUnit.MINUTES.toMillis(30)))
|
||||||
saved_cookie = null;
|
saved_cookie = null;
|
||||||
|
|
||||||
String redir_url = String.valueOf(response.request().url());
|
String redir_url = String.valueOf(resp.request().url());
|
||||||
|
|
||||||
if (saved_cookie == null && redir_url.startsWith("https://www.google.com/sorry")) {
|
if (saved_cookie == null && redir_url.startsWith("https://www.google.com/sorry")) {
|
||||||
|
|
||||||
var formBuilder = new FormBody.Builder();
|
var formBuilder = new FormBody.Builder();
|
||||||
String sitekey = null, data_s = null;
|
String sitekey = null, data_s = null;
|
||||||
|
|
||||||
for (Element el : Jsoup.parse(response.body().string()).selectFirst("form").children()) {
|
for (Element el : Jsoup.parse(resp.body().string()).selectFirst("form").children()) {
|
||||||
String name;
|
String name;
|
||||||
if (!(name = el.tagName()).equals("script")) {
|
if (!(name = el.tagName()).equals("script")) {
|
||||||
if (name.equals("input"))
|
if (name.equals("input"))
|
||||||
|
@ -118,7 +118,11 @@ public class DownloaderImpl extends Downloader {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return new Response(response.code(), response.message(), response.headers().toMultimap(), response.body().string(),
|
var response = new Response(resp.code(), resp.message(), resp.headers().toMultimap(), resp.body().string(),
|
||||||
String.valueOf(response.request().url()));
|
String.valueOf(resp.request().url()));
|
||||||
|
|
||||||
|
resp.close();
|
||||||
|
|
||||||
|
return response;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,9 +36,13 @@ public class LbryHelper {
|
||||||
, MediaType.get("application/json")))
|
, MediaType.get("application/json")))
|
||||||
.build();
|
.build();
|
||||||
|
|
||||||
return new JSONObject(
|
var resp = Constants.h2client.newCall(request).execute();
|
||||||
Constants.h2client.newCall(request).execute().body().string()
|
|
||||||
).getJSONObject("result").getString("streaming_url");
|
var json = new JSONObject(resp.body().string());
|
||||||
|
|
||||||
|
resp.close();
|
||||||
|
|
||||||
|
return json.getJSONObject("result").getString("streaming_url");
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -14,7 +14,10 @@ public class RequestUtils {
|
||||||
public static String sendGet(String url, String ua) throws IOException {
|
public static String sendGet(String url, String ua) throws IOException {
|
||||||
|
|
||||||
var request = new Request.Builder().header("User-Agent", ua).url(url).build();
|
var request = new Request.Builder().header("User-Agent", ua).url(url).build();
|
||||||
|
var response = Constants.h2client.newCall(request).execute();
|
||||||
|
var responseString = response.body().string();
|
||||||
|
response.close();
|
||||||
|
|
||||||
return Constants.h2client.newCall(request).execute().body().string();
|
return responseString;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1095,6 +1095,8 @@ public class ResponseHelper {
|
||||||
s.getTransaction().commit();
|
s.getTransaction().commit();
|
||||||
} else
|
} else
|
||||||
System.out.println("Failed to subscribe: " + resp.code() + "\n" + Objects.requireNonNull(resp.body()).string());
|
System.out.println("Failed to subscribe: " + resp.code() + "\n" + Objects.requireNonNull(resp.body()).string());
|
||||||
|
|
||||||
|
resp.close();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue