diff --git a/cache/src/main/java/net/runelite/cache/util/XteaKeyManager.java b/cache/src/main/java/net/runelite/cache/util/XteaKeyManager.java
index 80f8dbf981..38ba347d4b 100644
--- a/cache/src/main/java/net/runelite/cache/util/XteaKeyManager.java
+++ b/cache/src/main/java/net/runelite/cache/util/XteaKeyManager.java
@@ -27,6 +27,7 @@ package net.runelite.cache.util;
import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
+import net.runelite.http.api.RuneLiteAPI;
import net.runelite.http.api.xtea.XteaClient;
import net.runelite.http.api.xtea.XteaKey;
import org.slf4j.Logger;
@@ -40,7 +41,7 @@ public class XteaKeyManager
public void loadKeys()
{
- XteaClient xteaClient = new XteaClient();
+ XteaClient xteaClient = new XteaClient(RuneLiteAPI.CLIENT);
try
{
diff --git a/http-api/pom.xml b/http-api/pom.xml
index 8a52a759ff..dcd491b4f1 100644
--- a/http-api/pom.xml
+++ b/http-api/pom.xml
@@ -63,11 +63,6 @@
commons-csv
1.4
-
- javax.inject
- javax.inject
- 1
-
junit
diff --git a/http-api/src/main/java/net/runelite/http/api/account/AccountClient.java b/http-api/src/main/java/net/runelite/http/api/account/AccountClient.java
index 0a286cd70e..625be00ad0 100644
--- a/http-api/src/main/java/net/runelite/http/api/account/AccountClient.java
+++ b/http-api/src/main/java/net/runelite/http/api/account/AccountClient.java
@@ -29,24 +29,22 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.UUID;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
import net.runelite.http.api.RuneLiteAPI;
import okhttp3.HttpUrl;
+import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+@Slf4j
+@RequiredArgsConstructor
public class AccountClient
{
- private static final Logger logger = LoggerFactory.getLogger(AccountClient.class);
-
+ private final OkHttpClient client;
private UUID uuid;
- public AccountClient()
- {
- }
-
- public AccountClient(UUID uuid)
+ public void setUuid(UUID uuid)
{
this.uuid = uuid;
}
@@ -59,13 +57,13 @@ public class AccountClient
.addQueryParameter("uuid", uuid.toString())
.build();
- logger.debug("Built URI: {}", url);
+ log.debug("Built URI: {}", url);
Request request = new Request.Builder()
.url(url)
.build();
- try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute())
+ try (Response response = client.newCall(request).execute())
{
InputStream in = response.body().byteStream();
return RuneLiteAPI.GSON.fromJson(new InputStreamReader(in), OAuthResponse.class);
@@ -83,16 +81,16 @@ public class AccountClient
.addPathSegment("logout")
.build();
- logger.debug("Built URI: {}", url);
+ log.debug("Built URI: {}", url);
Request request = new Request.Builder()
.header(RuneLiteAPI.RUNELITE_AUTH, uuid.toString())
.url(url)
.build();
- try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute())
+ try (Response response = client.newCall(request).execute())
{
- logger.debug("Sent logout request");
+ log.debug("Sent logout request");
}
}
@@ -103,20 +101,20 @@ public class AccountClient
.addPathSegment("session-check")
.build();
- logger.debug("Built URI: {}", url);
+ log.debug("Built URI: {}", url);
Request request = new Request.Builder()
.header(RuneLiteAPI.RUNELITE_AUTH, uuid.toString())
.url(url)
.build();
- try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute())
+ try (Response response = client.newCall(request).execute())
{
return response.isSuccessful();
}
catch (IOException ex)
{
- logger.debug("Unable to verify session", ex);
+ log.debug("Unable to verify session", ex);
return true; // assume it is still valid if the server is unreachable
}
}
diff --git a/http-api/src/main/java/net/runelite/http/api/chat/ChatClient.java b/http-api/src/main/java/net/runelite/http/api/chat/ChatClient.java
index 3c1565effd..f3a0b41c30 100644
--- a/http-api/src/main/java/net/runelite/http/api/chat/ChatClient.java
+++ b/http-api/src/main/java/net/runelite/http/api/chat/ChatClient.java
@@ -28,14 +28,19 @@ import com.google.gson.JsonParseException;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
+import lombok.AllArgsConstructor;
import net.runelite.http.api.RuneLiteAPI;
import okhttp3.HttpUrl;
+import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
+@AllArgsConstructor
public class ChatClient
{
+ private final OkHttpClient client;
+
public boolean submitKc(String username, String boss, int kc) throws IOException
{
HttpUrl url = RuneLiteAPI.getApiBase().newBuilder()
@@ -51,7 +56,7 @@ public class ChatClient
.url(url)
.build();
- try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute())
+ try (Response response = client.newCall(request).execute())
{
return response.isSuccessful();
}
@@ -70,7 +75,7 @@ public class ChatClient
.url(url)
.build();
- try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute())
+ try (Response response = client.newCall(request).execute())
{
if (!response.isSuccessful())
{
@@ -94,7 +99,7 @@ public class ChatClient
.url(url)
.build();
- try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute())
+ try (Response response = client.newCall(request).execute())
{
return response.isSuccessful();
}
@@ -112,7 +117,7 @@ public class ChatClient
.url(url)
.build();
- try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute())
+ try (Response response = client.newCall(request).execute())
{
if (!response.isSuccessful())
{
@@ -139,7 +144,7 @@ public class ChatClient
.url(url)
.build();
- try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute())
+ try (Response response = client.newCall(request).execute())
{
return response.isSuccessful();
}
@@ -157,7 +162,7 @@ public class ChatClient
.url(url)
.build();
- try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute())
+ try (Response response = client.newCall(request).execute())
{
if (!response.isSuccessful())
{
@@ -188,7 +193,7 @@ public class ChatClient
.url(url)
.build();
- try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute())
+ try (Response response = client.newCall(request).execute())
{
return response.isSuccessful();
}
@@ -207,7 +212,7 @@ public class ChatClient
.url(url)
.build();
- try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute())
+ try (Response response = client.newCall(request).execute())
{
if (!response.isSuccessful())
{
@@ -231,7 +236,7 @@ public class ChatClient
.url(url)
.build();
- try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute())
+ try (Response response = client.newCall(request).execute())
{
return response.isSuccessful();
}
@@ -249,7 +254,7 @@ public class ChatClient
.url(url)
.build();
- try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute())
+ try (Response response = client.newCall(request).execute())
{
if (!response.isSuccessful())
{
@@ -276,7 +281,7 @@ public class ChatClient
.url(url)
.build();
- try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute())
+ try (Response response = client.newCall(request).execute())
{
return response.isSuccessful();
}
@@ -294,7 +299,7 @@ public class ChatClient
.url(url)
.build();
- try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute())
+ try (Response response = client.newCall(request).execute())
{
if (!response.isSuccessful())
{
@@ -323,7 +328,7 @@ public class ChatClient
.url(url)
.build();
- try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute())
+ try (Response response = client.newCall(request).execute())
{
return response.isSuccessful();
}
@@ -341,7 +346,7 @@ public class ChatClient
.url(url)
.build();
- try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute())
+ try (Response response = client.newCall(request).execute())
{
if (!response.isSuccessful())
{
diff --git a/http-api/src/main/java/net/runelite/http/api/config/ConfigClient.java b/http-api/src/main/java/net/runelite/http/api/config/ConfigClient.java
index c82c7d0f22..62704a8ff1 100644
--- a/http-api/src/main/java/net/runelite/http/api/config/ConfigClient.java
+++ b/http-api/src/main/java/net/runelite/http/api/config/ConfigClient.java
@@ -30,44 +30,41 @@ import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.UUID;
import java.util.concurrent.CompletableFuture;
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
import net.runelite.http.api.RuneLiteAPI;
import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.HttpUrl;
import okhttp3.MediaType;
+import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+@AllArgsConstructor
+@Slf4j
public class ConfigClient
{
- private static final Logger logger = LoggerFactory.getLogger(ConfigClient.class);
-
private static final MediaType TEXT_PLAIN = MediaType.parse("text/plain");
+ private final OkHttpClient client;
private final UUID uuid;
- public ConfigClient(UUID uuid)
- {
- this.uuid = uuid;
- }
-
public Configuration get() throws IOException
{
HttpUrl url = RuneLiteAPI.getApiBase().newBuilder()
.addPathSegment("config")
.build();
- logger.debug("Built URI: {}", url);
+ log.debug("Built URI: {}", url);
Request request = new Request.Builder()
.header(RuneLiteAPI.RUNELITE_AUTH, uuid.toString())
.url(url)
.build();
- try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute())
+ try (Response response = client.newCall(request).execute())
{
InputStream in = response.body().byteStream();
return RuneLiteAPI.GSON.fromJson(new InputStreamReader(in), Configuration.class);
@@ -87,7 +84,7 @@ public class ConfigClient
.addPathSegment(key)
.build();
- logger.debug("Built URI: {}", url);
+ log.debug("Built URI: {}", url);
Request request = new Request.Builder()
.put(RequestBody.create(TEXT_PLAIN, value))
@@ -95,12 +92,12 @@ public class ConfigClient
.url(url)
.build();
- RuneLiteAPI.CLIENT.newCall(request).enqueue(new Callback()
+ client.newCall(request).enqueue(new Callback()
{
@Override
public void onFailure(Call call, IOException e)
{
- logger.warn("Unable to synchronize configuration item", e);
+ log.warn("Unable to synchronize configuration item", e);
future.completeExceptionally(e);
}
@@ -108,7 +105,7 @@ public class ConfigClient
public void onResponse(Call call, Response response)
{
response.close();
- logger.debug("Synchronized configuration value '{}' to '{}'", key, value);
+ log.debug("Synchronized configuration value '{}' to '{}'", key, value);
future.complete(null);
}
});
@@ -125,7 +122,7 @@ public class ConfigClient
.addPathSegment(key)
.build();
- logger.debug("Built URI: {}", url);
+ log.debug("Built URI: {}", url);
Request request = new Request.Builder()
.delete()
@@ -133,12 +130,12 @@ public class ConfigClient
.url(url)
.build();
- RuneLiteAPI.CLIENT.newCall(request).enqueue(new Callback()
+ client.newCall(request).enqueue(new Callback()
{
@Override
public void onFailure(Call call, IOException e)
{
- logger.warn("Unable to unset configuration item", e);
+ log.warn("Unable to unset configuration item", e);
future.completeExceptionally(e);
}
@@ -146,7 +143,7 @@ public class ConfigClient
public void onResponse(Call call, Response response)
{
response.close();
- logger.debug("Unset configuration value '{}'", key);
+ log.debug("Unset configuration value '{}'", key);
future.complete(null);
}
});
diff --git a/http-api/src/main/java/net/runelite/http/api/examine/ExamineClient.java b/http-api/src/main/java/net/runelite/http/api/examine/ExamineClient.java
index 5997799c2e..3271f9994e 100644
--- a/http-api/src/main/java/net/runelite/http/api/examine/ExamineClient.java
+++ b/http-api/src/main/java/net/runelite/http/api/examine/ExamineClient.java
@@ -25,23 +25,26 @@
package net.runelite.http.api.examine;
import java.io.IOException;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
import net.runelite.http.api.RuneLiteAPI;
import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.HttpUrl;
import okhttp3.MediaType;
+import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+@Slf4j
+@RequiredArgsConstructor
public class ExamineClient
{
- private static final Logger logger = LoggerFactory.getLogger(ExamineClient.class);
-
private static final MediaType TEXT = MediaType.parse("text");
+ private final OkHttpClient client;
+
public void submitObject(int id, String text)
{
submit("object", id, text);
@@ -65,26 +68,26 @@ public class ExamineClient
.addPathSegment(Integer.toString(id))
.build();
- logger.debug("Built URI: {}", url);
+ log.debug("Built URI: {}", url);
Request request = new Request.Builder()
.url(url)
.post(RequestBody.create(TEXT, text))
.build();
- RuneLiteAPI.CLIENT.newCall(request).enqueue(new Callback()
+ client.newCall(request).enqueue(new Callback()
{
@Override
public void onFailure(Call call, IOException e)
{
- logger.warn("Error submitting examine", e);
+ log.warn("Error submitting examine", e);
}
@Override
public void onResponse(Call call, Response response)
{
response.close();
- logger.debug("Submitted examine info for {} {}: {}", type, id, text);
+ log.debug("Submitted examine info for {} {}: {}", type, id, text);
}
});
}
diff --git a/http-api/src/main/java/net/runelite/http/api/feed/FeedClient.java b/http-api/src/main/java/net/runelite/http/api/feed/FeedClient.java
index bf4698315c..62cddfa599 100644
--- a/http-api/src/main/java/net/runelite/http/api/feed/FeedClient.java
+++ b/http-api/src/main/java/net/runelite/http/api/feed/FeedClient.java
@@ -28,34 +28,27 @@ import com.google.gson.JsonParseException;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
-import javax.inject.Inject;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
import net.runelite.http.api.RuneLiteAPI;
import okhttp3.HttpUrl;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+@Slf4j
+@RequiredArgsConstructor
public class FeedClient
{
- private static final Logger logger = LoggerFactory.getLogger(FeedClient.class);
-
private final OkHttpClient client;
- @Inject
- public FeedClient(OkHttpClient client)
- {
- this.client = client;
- }
-
public FeedResult lookupFeed() throws IOException
{
HttpUrl url = RuneLiteAPI.getApiBase().newBuilder()
.addPathSegment("feed.js")
.build();
- logger.debug("Built URI: {}", url);
+ log.debug("Built URI: {}", url);
Request request = new Request.Builder()
.url(url)
@@ -65,7 +58,7 @@ public class FeedClient
{
if (!response.isSuccessful())
{
- logger.debug("Error looking up feed: {}", response);
+ log.debug("Error looking up feed: {}", response);
return null;
}
diff --git a/http-api/src/main/java/net/runelite/http/api/ge/GrandExchangeClient.java b/http-api/src/main/java/net/runelite/http/api/ge/GrandExchangeClient.java
index fd02f37ffc..1d898ccf27 100644
--- a/http-api/src/main/java/net/runelite/http/api/ge/GrandExchangeClient.java
+++ b/http-api/src/main/java/net/runelite/http/api/ge/GrandExchangeClient.java
@@ -27,6 +27,7 @@ package net.runelite.http.api.ge;
import com.google.gson.Gson;
import java.io.IOException;
import java.util.UUID;
+import lombok.RequiredArgsConstructor;
import lombok.Setter;
import lombok.extern.slf4j.Slf4j;
import net.runelite.http.api.RuneLiteAPI;
@@ -34,15 +35,19 @@ import static net.runelite.http.api.RuneLiteAPI.JSON;
import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.HttpUrl;
+import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
@Slf4j
+@RequiredArgsConstructor
public class GrandExchangeClient
{
private static final Gson GSON = RuneLiteAPI.GSON;
+ private final OkHttpClient client;
+
@Setter
private UUID uuid;
@Setter
@@ -69,7 +74,7 @@ public class GrandExchangeClient
.url(url)
.build();
- RuneLiteAPI.CLIENT.newCall(request).enqueue(new Callback()
+ client.newCall(request).enqueue(new Callback()
{
@Override
public void onFailure(Call call, IOException e)
diff --git a/http-api/src/main/java/net/runelite/http/api/hiscore/HiscoreClient.java b/http-api/src/main/java/net/runelite/http/api/hiscore/HiscoreClient.java
index a725089de4..2807f8f411 100644
--- a/http-api/src/main/java/net/runelite/http/api/hiscore/HiscoreClient.java
+++ b/http-api/src/main/java/net/runelite/http/api/hiscore/HiscoreClient.java
@@ -25,9 +25,10 @@
package net.runelite.http.api.hiscore;
import java.io.IOException;
+import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
-import net.runelite.http.api.RuneLiteAPI;
import okhttp3.HttpUrl;
+import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
import org.apache.commons.csv.CSVFormat;
@@ -35,8 +36,11 @@ import org.apache.commons.csv.CSVParser;
import org.apache.commons.csv.CSVRecord;
@Slf4j
+@RequiredArgsConstructor
public class HiscoreClient
{
+ private final OkHttpClient client;
+
public HiscoreResult lookup(String username, HiscoreEndpoint endpoint) throws IOException
{
return lookup(username, endpoint.getHiscoreURL());
@@ -97,7 +101,7 @@ public class HiscoreClient
String responseStr;
- try (Response okresponse = RuneLiteAPI.CLIENT.newCall(okrequest).execute())
+ try (Response okresponse = client.newCall(okrequest).execute())
{
if (!okresponse.isSuccessful())
{
diff --git a/http-api/src/main/java/net/runelite/http/api/item/ItemClient.java b/http-api/src/main/java/net/runelite/http/api/item/ItemClient.java
index 0dea2d1eed..1b4df52de4 100644
--- a/http-api/src/main/java/net/runelite/http/api/item/ItemClient.java
+++ b/http-api/src/main/java/net/runelite/http/api/item/ItemClient.java
@@ -31,27 +31,20 @@ import java.io.InputStream;
import java.io.InputStreamReader;
import java.lang.reflect.Type;
import java.util.Map;
-import javax.inject.Inject;
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
import net.runelite.http.api.RuneLiteAPI;
import okhttp3.HttpUrl;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+@Slf4j
+@AllArgsConstructor
public class ItemClient
{
- private static final Logger logger = LoggerFactory.getLogger(ItemClient.class);
-
private final OkHttpClient client;
- @Inject
- public ItemClient(OkHttpClient client)
- {
- this.client = client;
- }
-
public ItemPrice[] getPrices() throws IOException
{
HttpUrl.Builder urlBuilder = RuneLiteAPI.getApiBase().newBuilder()
@@ -60,7 +53,7 @@ public class ItemClient
HttpUrl url = urlBuilder.build();
- logger.debug("Built URI: {}", url);
+ log.debug("Built URI: {}", url);
Request request = new Request.Builder()
.url(url)
@@ -70,7 +63,7 @@ public class ItemClient
{
if (!response.isSuccessful())
{
- logger.warn("Error looking up prices: {}", response);
+ log.warn("Error looking up prices: {}", response);
return null;
}
@@ -92,7 +85,7 @@ public class ItemClient
HttpUrl url = urlBuilder.build();
- logger.debug("Built URI: {}", url);
+ log.debug("Built URI: {}", url);
Request request = new Request.Builder()
.url(url)
@@ -102,7 +95,7 @@ public class ItemClient
{
if (!response.isSuccessful())
{
- logger.warn("Error looking up item stats: {}", response);
+ log.warn("Error looking up item stats: {}", response);
return null;
}
diff --git a/http-api/src/main/java/net/runelite/http/api/loottracker/LootTrackerClient.java b/http-api/src/main/java/net/runelite/http/api/loottracker/LootTrackerClient.java
index bc1b6de369..79351cfc90 100644
--- a/http-api/src/main/java/net/runelite/http/api/loottracker/LootTrackerClient.java
+++ b/http-api/src/main/java/net/runelite/http/api/loottracker/LootTrackerClient.java
@@ -41,6 +41,7 @@ import static net.runelite.http.api.RuneLiteAPI.JSON;
import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.HttpUrl;
+import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
@@ -51,6 +52,7 @@ public class LootTrackerClient
{
private static final Gson GSON = RuneLiteAPI.GSON;
+ private final OkHttpClient client;
private final UUID uuid;
public CompletableFuture submit(Collection lootRecords)
@@ -67,7 +69,7 @@ public class LootTrackerClient
.url(url)
.build();
- RuneLiteAPI.CLIENT.newCall(request).enqueue(new Callback()
+ client.newCall(request).enqueue(new Callback()
{
@Override
public void onFailure(Call call, IOException e)
@@ -99,7 +101,7 @@ public class LootTrackerClient
.url(url)
.build();
- try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute())
+ try (Response response = client.newCall(request).execute())
{
if (!response.isSuccessful())
{
@@ -134,7 +136,7 @@ public class LootTrackerClient
.url(builder.build())
.build();
- RuneLiteAPI.CLIENT.newCall(request).enqueue(new Callback()
+ client.newCall(request).enqueue(new Callback()
{
@Override
public void onFailure(Call call, IOException e)
diff --git a/http-api/src/main/java/net/runelite/http/api/osbuddy/OSBGrandExchangeClient.java b/http-api/src/main/java/net/runelite/http/api/osbuddy/OSBGrandExchangeClient.java
index c01337fdc0..3a832c7ccb 100644
--- a/http-api/src/main/java/net/runelite/http/api/osbuddy/OSBGrandExchangeClient.java
+++ b/http-api/src/main/java/net/runelite/http/api/osbuddy/OSBGrandExchangeClient.java
@@ -28,15 +28,20 @@ import com.google.gson.JsonParseException;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
+import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import net.runelite.http.api.RuneLiteAPI;
import okhttp3.HttpUrl;
+import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
@Slf4j
+@AllArgsConstructor
public class OSBGrandExchangeClient
{
+ private final OkHttpClient client;
+
public OSBGrandExchangeResult lookupItem(int itemId) throws IOException
{
final HttpUrl url = RuneLiteAPI.getApiBase().newBuilder()
@@ -51,7 +56,7 @@ public class OSBGrandExchangeClient
.url(url)
.build();
- try (final Response response = RuneLiteAPI.CLIENT.newCall(request).execute())
+ try (final Response response = client.newCall(request).execute())
{
if (!response.isSuccessful())
{
diff --git a/http-api/src/main/java/net/runelite/http/api/worlds/WorldClient.java b/http-api/src/main/java/net/runelite/http/api/worlds/WorldClient.java
index b9d84eefd9..97063b8c0d 100644
--- a/http-api/src/main/java/net/runelite/http/api/worlds/WorldClient.java
+++ b/http-api/src/main/java/net/runelite/http/api/worlds/WorldClient.java
@@ -29,34 +29,27 @@ import com.google.gson.JsonParseException;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
-import javax.inject.Inject;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
import net.runelite.http.api.RuneLiteAPI;
import okhttp3.HttpUrl;
import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+@Slf4j
+@RequiredArgsConstructor
public class WorldClient
{
- private static final Logger logger = LoggerFactory.getLogger(WorldClient.class);
-
private final OkHttpClient client;
- @Inject
- public WorldClient(OkHttpClient client)
- {
- this.client = client;
- }
-
public WorldResult lookupWorlds() throws IOException
{
HttpUrl url = RuneLiteAPI.getApiBase().newBuilder()
.addPathSegment("worlds.js")
.build();
- logger.debug("Built URI: {}", url);
+ log.debug("Built URI: {}", url);
Request request = new Request.Builder()
.url(url)
@@ -66,7 +59,7 @@ public class WorldClient
{
if (!response.isSuccessful())
{
- logger.debug("Error looking up worlds: {}", response);
+ log.debug("Error looking up worlds: {}", response);
throw new IOException("unsuccessful response looking up worlds");
}
diff --git a/http-api/src/main/java/net/runelite/http/api/xp/XpClient.java b/http-api/src/main/java/net/runelite/http/api/xp/XpClient.java
index c45fe2e209..76acf6ad63 100644
--- a/http-api/src/main/java/net/runelite/http/api/xp/XpClient.java
+++ b/http-api/src/main/java/net/runelite/http/api/xp/XpClient.java
@@ -25,18 +25,24 @@
package net.runelite.http.api.xp;
import java.io.IOException;
+import lombok.extern.slf4j.Slf4j;
import net.runelite.http.api.RuneLiteAPI;
import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.HttpUrl;
+import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.Response;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+@Slf4j
public class XpClient
{
- private static final Logger logger = LoggerFactory.getLogger(XpClient.class);
+ private final OkHttpClient client;
+
+ public XpClient(OkHttpClient client)
+ {
+ this.client = client;
+ }
public void update(String username)
{
@@ -50,19 +56,19 @@ public class XpClient
.url(url)
.build();
- RuneLiteAPI.CLIENT.newCall(request).enqueue(new Callback()
+ client.newCall(request).enqueue(new Callback()
{
@Override
public void onFailure(Call call, IOException e)
{
- logger.warn("Error submitting xp track", e);
+ log.warn("Error submitting xp track", e);
}
@Override
public void onResponse(Call call, Response response)
{
response.close();
- logger.debug("Submitted xp track for {}", username);
+ log.debug("Submitted xp track for {}", username);
}
});
}
diff --git a/http-api/src/main/java/net/runelite/http/api/xtea/XteaClient.java b/http-api/src/main/java/net/runelite/http/api/xtea/XteaClient.java
index 42b10e3239..67a2e866ca 100644
--- a/http-api/src/main/java/net/runelite/http/api/xtea/XteaClient.java
+++ b/http-api/src/main/java/net/runelite/http/api/xtea/XteaClient.java
@@ -30,20 +30,23 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.List;
+import lombok.AllArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
import net.runelite.http.api.RuneLiteAPI;
import static net.runelite.http.api.RuneLiteAPI.JSON;
import okhttp3.Call;
import okhttp3.Callback;
import okhttp3.HttpUrl;
+import okhttp3.OkHttpClient;
import okhttp3.Request;
import okhttp3.RequestBody;
import okhttp3.Response;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
+@Slf4j
+@AllArgsConstructor
public class XteaClient
{
- private static final Logger logger = LoggerFactory.getLogger(XteaClient.class);
+ private final OkHttpClient client;
public void submit(XteaRequest xteaRequest)
{
@@ -53,19 +56,19 @@ public class XteaClient
.addPathSegment("xtea")
.build();
- logger.debug("Built URI: {}", url);
+ log.debug("Built URI: {}", url);
Request request = new Request.Builder()
.post(RequestBody.create(JSON, json))
.url(url)
.build();
- RuneLiteAPI.CLIENT.newCall(request).enqueue(new Callback()
+ client.newCall(request).enqueue(new Callback()
{
@Override
public void onFailure(Call call, IOException e)
{
- logger.warn("unable to submit xtea keys", e);
+ log.warn("unable to submit xtea keys", e);
}
@Override
@@ -75,7 +78,7 @@ public class XteaClient
{
if (!response.isSuccessful())
{
- logger.debug("unsuccessful xtea response");
+ log.debug("unsuccessful xtea response");
}
}
finally
@@ -96,7 +99,7 @@ public class XteaClient
.url(url)
.build();
- try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute())
+ try (Response response = client.newCall(request).execute())
{
InputStream in = response.body().byteStream();
// CHECKSTYLE:OFF
@@ -120,7 +123,7 @@ public class XteaClient
.url(url)
.build();
- try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute())
+ try (Response response = client.newCall(request).execute())
{
InputStream in = response.body().byteStream();
return RuneLiteAPI.GSON.fromJson(new InputStreamReader(in), XteaKey.class);
diff --git a/http-service/src/main/java/net/runelite/http/service/hiscore/HiscoreService.java b/http-service/src/main/java/net/runelite/http/service/hiscore/HiscoreService.java
index cc565b4444..fd73e17359 100644
--- a/http-service/src/main/java/net/runelite/http/service/hiscore/HiscoreService.java
+++ b/http-service/src/main/java/net/runelite/http/service/hiscore/HiscoreService.java
@@ -31,6 +31,7 @@ import com.google.common.cache.LoadingCache;
import java.io.IOException;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.TimeUnit;
+import net.runelite.http.api.RuneLiteAPI;
import net.runelite.http.api.hiscore.HiscoreClient;
import net.runelite.http.api.hiscore.HiscoreEndpoint;
import net.runelite.http.api.hiscore.HiscoreResult;
@@ -40,7 +41,7 @@ import org.springframework.stereotype.Service;
@Service
public class HiscoreService
{
- private final HiscoreClient hiscoreClient = new HiscoreClient();
+ private final HiscoreClient hiscoreClient = new HiscoreClient(RuneLiteAPI.CLIENT);
private final LoadingCache hiscoreCache = CacheBuilder.newBuilder()
.maximumSize(128)
.expireAfterWrite(1, TimeUnit.MINUTES)
diff --git a/runelite-client/src/main/java/net/runelite/client/ClientSessionManager.java b/runelite-client/src/main/java/net/runelite/client/ClientSessionManager.java
index 5009bd509d..588a1ad006 100644
--- a/runelite-client/src/main/java/net/runelite/client/ClientSessionManager.java
+++ b/runelite-client/src/main/java/net/runelite/client/ClientSessionManager.java
@@ -38,23 +38,27 @@ import net.runelite.api.GameState;
import net.runelite.client.eventbus.Subscribe;
import net.runelite.client.events.ClientShutdown;
import net.runelite.client.util.RunnableExceptionLogger;
+import okhttp3.OkHttpClient;
@Singleton
@Slf4j
public class ClientSessionManager
{
- private final SessionClient sessionClient = new SessionClient();
private final ScheduledExecutorService executorService;
private final Client client;
+ private final SessionClient sessionClient;
private ScheduledFuture> scheduledFuture;
private UUID sessionId;
@Inject
- ClientSessionManager(ScheduledExecutorService executorService, @Nullable Client client)
+ ClientSessionManager(ScheduledExecutorService executorService,
+ @Nullable Client client,
+ OkHttpClient okHttpClient)
{
this.executorService = executorService;
this.client = client;
+ this.sessionClient = new SessionClient(okHttpClient);
}
public void start()
diff --git a/runelite-client/src/main/java/net/runelite/client/RuneLite.java b/runelite-client/src/main/java/net/runelite/client/RuneLite.java
index c8cd6f352f..e9d79d1b5f 100644
--- a/runelite-client/src/main/java/net/runelite/client/RuneLite.java
+++ b/runelite-client/src/main/java/net/runelite/client/RuneLite.java
@@ -76,6 +76,9 @@ import net.runelite.client.ui.overlay.infobox.InfoBoxOverlay;
import net.runelite.client.ui.overlay.tooltip.TooltipOverlay;
import net.runelite.client.ui.overlay.worldmap.WorldMapOverlay;
import net.runelite.client.ws.PartyService;
+import net.runelite.http.api.RuneLiteAPI;
+import okhttp3.Cache;
+import okhttp3.OkHttpClient;
import org.slf4j.LoggerFactory;
@Singleton
@@ -91,6 +94,8 @@ public class RuneLite
public static final File DEFAULT_SESSION_FILE = new File(RUNELITE_DIR, "session");
public static final File DEFAULT_CONFIG_FILE = new File(RUNELITE_DIR, "settings.properties");
+ private static final int MAX_OKHTTP_CACHE_SIZE = 20 * 1024 * 1024; // 20mb
+
@Getter
private static Injector injector;
@@ -178,6 +183,7 @@ public class RuneLite
parser.accepts("developer-mode", "Enable developer tools");
parser.accepts("debug", "Show extra debugging output");
parser.accepts("safe-mode", "Disables external plugins and the GPU plugin");
+ parser.accepts("insecure-skip-tls-verification", "Disables TLS verification");
final ArgumentAcceptingOptionSpec sessionfile = parser.accepts("sessionfile", "Use a specified session file")
.withRequiredArg()
@@ -227,12 +233,16 @@ public class RuneLite
}
});
+ final OkHttpClient okHttpClient = RuneLiteAPI.CLIENT.newBuilder()
+ .cache(new Cache(new File(CACHE_DIR, "okhttp"), MAX_OKHTTP_CACHE_SIZE))
+ .build();
+
SplashScreen.init();
SplashScreen.stage(0, "Retrieving client", "");
try
{
- final ClientLoader clientLoader = new ClientLoader(options.valueOf(updateMode));
+ final ClientLoader clientLoader = new ClientLoader(okHttpClient, options.valueOf(updateMode));
new Thread(() ->
{
@@ -265,6 +275,7 @@ public class RuneLite
final long start = System.currentTimeMillis();
injector = Guice.createInjector(new RuneLiteModule(
+ okHttpClient,
clientLoader,
developerMode,
options.has("safe-mode"),
diff --git a/runelite-client/src/main/java/net/runelite/client/RuneLiteModule.java b/runelite-client/src/main/java/net/runelite/client/RuneLiteModule.java
index c1489de882..517a7f83e0 100644
--- a/runelite-client/src/main/java/net/runelite/client/RuneLiteModule.java
+++ b/runelite-client/src/main/java/net/runelite/client/RuneLiteModule.java
@@ -50,15 +50,13 @@ import net.runelite.client.plugins.PluginManager;
import net.runelite.client.task.Scheduler;
import net.runelite.client.util.DeferredEventBus;
import net.runelite.client.util.ExecutorServiceExceptionLogger;
-import net.runelite.http.api.RuneLiteAPI;
-import okhttp3.Cache;
+import net.runelite.http.api.chat.ChatClient;
import okhttp3.OkHttpClient;
@AllArgsConstructor
public class RuneLiteModule extends AbstractModule
{
- private static final int MAX_OKHTTP_CACHE_SIZE = 20 * 1024 * 1024; // 20mb
-
+ private final OkHttpClient okHttpClient;
private final Supplier