diff --git a/http-api/src/main/java/net/runelite/http/api/RuneLiteAPI.java b/http-api/src/main/java/net/runelite/http/api/RuneLiteAPI.java index 6304d59b46..99c699da51 100644 --- a/http-api/src/main/java/net/runelite/http/api/RuneLiteAPI.java +++ b/http-api/src/main/java/net/runelite/http/api/RuneLiteAPI.java @@ -32,10 +32,10 @@ import java.io.InputStream; import java.time.Instant; import java.util.Properties; import java.util.concurrent.TimeUnit; +import lombok.Getter; import net.runelite.http.api.gson.ColorTypeAdapter; -import net.runelite.http.api.gson.InstantTypeAdapter; import net.runelite.http.api.gson.IllegalReflectionExclusion; -import okhttp3.HttpUrl; +import net.runelite.http.api.gson.InstantTypeAdapter; import okhttp3.Interceptor; import okhttp3.MediaType; import okhttp3.OkHttpClient; @@ -56,10 +56,8 @@ public class RuneLiteAPI public static final MediaType JSON = MediaType.parse("application/json"); public static String userAgent; - private static final String BASE = "https://api.runelite.net"; - private static final String WSBASE = "https://api.runelite.net/ws"; - private static final String STATICBASE = "https://static.runelite.net"; private static final Properties properties = new Properties(); + @Getter private static String version; static @@ -118,63 +116,4 @@ public class RuneLiteAPI GSON = gsonBuilder.create(); } - - public static HttpUrl getSessionBase() - { - final String prop = System.getProperty("runelite.session.url"); - - if (prop != null && !prop.isEmpty()) - { - return HttpUrl.parse(prop); - } - - return HttpUrl.parse(BASE + "/session"); - } - - public static HttpUrl getApiBase() - { - final String prop = System.getProperty("runelite.http-service.url"); - - if (prop != null && !prop.isEmpty()) - { - return HttpUrl.parse(prop); - } - - return HttpUrl.parse(BASE + "/runelite-" + getVersion()); - } - - public static HttpUrl getStaticBase() - { - final String prop = System.getProperty("runelite.static.url"); - - if (prop != null && !prop.isEmpty()) - { - return HttpUrl.parse(prop); - } - - return HttpUrl.parse(STATICBASE); - } - - public static HttpUrl getWsEndpoint() - { - final String prop = System.getProperty("runelite.ws.url"); - - if (prop != null && !prop.isEmpty()) - { - return HttpUrl.parse(prop); - } - - return HttpUrl.parse(WSBASE); - } - - public static String getVersion() - { - return version; - } - - public static void setVersion(String version) - { - RuneLiteAPI.version = version; - } - } 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 588a1ad006..3f884b092a 100644 --- a/runelite-client/src/main/java/net/runelite/client/ClientSessionManager.java +++ b/runelite-client/src/main/java/net/runelite/client/ClientSessionManager.java @@ -38,7 +38,6 @@ 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 @@ -54,11 +53,11 @@ public class ClientSessionManager @Inject ClientSessionManager(ScheduledExecutorService executorService, @Nullable Client client, - OkHttpClient okHttpClient) + SessionClient sessionClient) { this.executorService = executorService; this.client = client; - this.sessionClient = new SessionClient(okHttpClient); + this.sessionClient = sessionClient; } public void start() 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 8c80c67a37..569f05e20d 100644 --- a/runelite-client/src/main/java/net/runelite/client/RuneLiteModule.java +++ b/runelite-client/src/main/java/net/runelite/client/RuneLiteModule.java @@ -24,6 +24,7 @@ */ package net.runelite.client; +import com.google.common.base.Strings; import com.google.gson.Gson; import com.google.inject.AbstractModule; import com.google.inject.Provides; @@ -35,6 +36,7 @@ import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import java.util.function.Supplier; import javax.annotation.Nullable; +import javax.inject.Named; import javax.inject.Singleton; import lombok.AllArgsConstructor; import net.runelite.api.Client; @@ -53,7 +55,7 @@ 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 net.runelite.http.api.chat.ChatClient; +import okhttp3.HttpUrl; import okhttp3.OkHttpClient; @AllArgsConstructor @@ -129,9 +131,34 @@ public class RuneLiteModule extends AbstractModule } @Provides - @Singleton - ChatClient provideChatClient(OkHttpClient okHttpClient) + @Named("runelite.api.base") + HttpUrl provideApiBase(@Named("runelite.api.base") String s) { - return new ChatClient(okHttpClient); + final String prop = System.getProperty("runelite.http-service.url"); + return HttpUrl.get(Strings.isNullOrEmpty(prop) ? s : prop); + } + + @Provides + @Named("runelite.session") + HttpUrl provideSession(@Named("runelite.session") String s) + { + final String prop = System.getProperty("runelite.session.url"); + return HttpUrl.get(Strings.isNullOrEmpty(prop) ? s : prop); + } + + @Provides + @Named("runelite.static.base") + HttpUrl provideStaticBase(@Named("runelite.static.base") String s) + { + final String prop = System.getProperty("runelite.static.url"); + return HttpUrl.get(Strings.isNullOrEmpty(prop) ? s : prop); + } + + @Provides + @Named("runelite.ws") + HttpUrl provideWs(@Named("runelite.ws") String s) + { + final String prop = System.getProperty("runelite.ws.url"); + return HttpUrl.get(Strings.isNullOrEmpty(prop) ? s : prop); } } diff --git a/runelite-client/src/main/java/net/runelite/client/RuneLiteProperties.java b/runelite-client/src/main/java/net/runelite/client/RuneLiteProperties.java index 2be480f85e..1f878b26cc 100644 --- a/runelite-client/src/main/java/net/runelite/client/RuneLiteProperties.java +++ b/runelite-client/src/main/java/net/runelite/client/RuneLiteProperties.java @@ -45,6 +45,7 @@ public class RuneLiteProperties private static final String JAV_CONFIG_BACKUP = "runelite.jav_config_backup"; private static final String PLUGINHUB_BASE = "runelite.pluginhub.url"; private static final String PLUGINHUB_VERSION = "runelite.pluginhub.version"; + private static final String API_BASE = "runelite.api.base"; @Getter(AccessLevel.PACKAGE) private static final Properties properties = new Properties(); @@ -112,4 +113,9 @@ public class RuneLiteProperties String version = System.getProperty(PLUGINHUB_VERSION, properties.getProperty(PLUGINHUB_VERSION)); return HttpUrl.parse(properties.get(PLUGINHUB_BASE) + "/" + version); } + + public static String getApiBase() + { + return properties.getProperty(API_BASE); + } } \ No newline at end of file diff --git a/runelite-client/src/main/java/net/runelite/client/SessionClient.java b/runelite-client/src/main/java/net/runelite/client/SessionClient.java index ea75fc5f79..5727af1f7b 100644 --- a/runelite-client/src/main/java/net/runelite/client/SessionClient.java +++ b/runelite-client/src/main/java/net/runelite/client/SessionClient.java @@ -30,7 +30,8 @@ import java.io.InputStream; import java.io.InputStreamReader; import java.nio.charset.StandardCharsets; import java.util.UUID; -import lombok.AllArgsConstructor; +import javax.inject.Inject; +import javax.inject.Named; import net.runelite.http.api.RuneLiteAPI; import okhttp3.HttpUrl; import okhttp3.OkHttpClient; @@ -39,14 +40,21 @@ import okhttp3.RequestBody; import okhttp3.Response; import okhttp3.ResponseBody; -@AllArgsConstructor class SessionClient { - private final OkHttpClient okHttpClient; + private final OkHttpClient client; + private final HttpUrl sessionUrl; + + @Inject + private SessionClient(OkHttpClient client, @Named("runelite.session") HttpUrl sessionUrl) + { + this.client = client; + this.sessionUrl = sessionUrl; + } UUID open() throws IOException { - HttpUrl url = RuneLiteAPI.getSessionBase().newBuilder() + HttpUrl url = sessionUrl.newBuilder() .build(); Request request = new Request.Builder() @@ -54,10 +62,10 @@ class SessionClient .url(url) .build(); - try (Response response = okHttpClient.newCall(request).execute()) + try (Response response = client.newCall(request).execute()) { ResponseBody body = response.body(); - + InputStream in = body.byteStream(); return RuneLiteAPI.GSON.fromJson(new InputStreamReader(in, StandardCharsets.UTF_8), UUID.class); } @@ -69,7 +77,7 @@ class SessionClient void ping(UUID uuid, boolean loggedIn) throws IOException { - HttpUrl url = RuneLiteAPI.getSessionBase().newBuilder() + HttpUrl url = sessionUrl.newBuilder() .addPathSegment("ping") .addQueryParameter("session", uuid.toString()) .addQueryParameter("logged-in", String.valueOf(loggedIn)) @@ -80,7 +88,7 @@ class SessionClient .url(url) .build(); - try (Response response = okHttpClient.newCall(request).execute()) + try (Response response = client.newCall(request).execute()) { if (!response.isSuccessful()) { @@ -91,7 +99,7 @@ class SessionClient void delete(UUID uuid) throws IOException { - HttpUrl url = RuneLiteAPI.getSessionBase().newBuilder() + HttpUrl url = sessionUrl.newBuilder() .addQueryParameter("session", uuid.toString()) .build(); @@ -100,6 +108,6 @@ class SessionClient .url(url) .build(); - okHttpClient.newCall(request).execute().close(); + client.newCall(request).execute().close(); } } diff --git a/http-api/src/main/java/net/runelite/http/api/account/AccountClient.java b/runelite-client/src/main/java/net/runelite/client/account/AccountClient.java similarity index 87% rename from http-api/src/main/java/net/runelite/http/api/account/AccountClient.java rename to runelite-client/src/main/java/net/runelite/client/account/AccountClient.java index ff999c6d71..4c26a60170 100644 --- a/http-api/src/main/java/net/runelite/http/api/account/AccountClient.java +++ b/runelite-client/src/main/java/net/runelite/client/account/AccountClient.java @@ -22,7 +22,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -package net.runelite.http.api.account; +package net.runelite.client.account; import com.google.gson.JsonParseException; import java.io.IOException; @@ -30,29 +30,36 @@ import java.io.InputStream; import java.io.InputStreamReader; import java.nio.charset.StandardCharsets; import java.util.UUID; -import lombok.RequiredArgsConstructor; +import javax.inject.Inject; +import javax.inject.Named; +import lombok.Setter; import lombok.extern.slf4j.Slf4j; import net.runelite.http.api.RuneLiteAPI; +import net.runelite.http.api.account.OAuthResponse; import okhttp3.HttpUrl; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; @Slf4j -@RequiredArgsConstructor public class AccountClient { private final OkHttpClient client; + private final HttpUrl apiBase; + + @Setter private UUID uuid; - public void setUuid(UUID uuid) + @Inject + private AccountClient(OkHttpClient client, @Named("runelite.api.base") HttpUrl apiBase) { - this.uuid = uuid; + this.client = client; + this.apiBase = apiBase; } public OAuthResponse login() throws IOException { - HttpUrl url = RuneLiteAPI.getApiBase().newBuilder() + HttpUrl url = apiBase.newBuilder() .addPathSegment("account") .addPathSegment("login") .addQueryParameter("uuid", uuid.toString()) @@ -77,7 +84,7 @@ public class AccountClient public void logout() throws IOException { - HttpUrl url = RuneLiteAPI.getApiBase().newBuilder() + HttpUrl url = apiBase.newBuilder() .addPathSegment("account") .addPathSegment("logout") .build(); @@ -97,7 +104,7 @@ public class AccountClient public boolean sessionCheck() { - HttpUrl url = RuneLiteAPI.getApiBase().newBuilder() + HttpUrl url = apiBase.newBuilder() .addPathSegment("account") .addPathSegment("session-check") .build(); diff --git a/runelite-client/src/main/java/net/runelite/client/account/SessionManager.java b/runelite-client/src/main/java/net/runelite/client/account/SessionManager.java index 93c1f8f584..c9f432db02 100644 --- a/runelite-client/src/main/java/net/runelite/client/account/SessionManager.java +++ b/runelite-client/src/main/java/net/runelite/client/account/SessionManager.java @@ -47,10 +47,8 @@ import net.runelite.client.events.SessionClose; import net.runelite.client.events.SessionOpen; import net.runelite.client.util.LinkBrowser; import net.runelite.client.ws.WSClient; -import net.runelite.http.api.account.AccountClient; import net.runelite.http.api.account.OAuthResponse; import net.runelite.http.api.ws.messages.LoginResponse; -import okhttp3.OkHttpClient; @Singleton @Slf4j @@ -72,14 +70,14 @@ public class SessionManager ConfigManager configManager, EventBus eventBus, WSClient wsClient, - OkHttpClient okHttpClient, + AccountClient accountClient, Gson gson) { this.configManager = configManager; this.eventBus = eventBus; this.wsClient = wsClient; this.sessionFile = sessionfile; - this.accountClient = new AccountClient(okHttpClient); + this.accountClient = accountClient; this.gson = gson; eventBus.register(this); diff --git a/http-api/src/main/java/net/runelite/http/api/chat/ChatClient.java b/runelite-client/src/main/java/net/runelite/client/chat/ChatClient.java similarity index 91% rename from http-api/src/main/java/net/runelite/http/api/chat/ChatClient.java rename to runelite-client/src/main/java/net/runelite/client/chat/ChatClient.java index 06ca9bb623..2b599b47e0 100644 --- a/http-api/src/main/java/net/runelite/http/api/chat/ChatClient.java +++ b/runelite-client/src/main/java/net/runelite/client/chat/ChatClient.java @@ -22,7 +22,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -package net.runelite.http.api.chat; +package net.runelite.client.chat; import com.google.gson.JsonParseException; import com.google.gson.reflect.TypeToken; @@ -32,22 +32,33 @@ import java.io.InputStreamReader; import java.nio.charset.StandardCharsets; import java.util.Collection; import java.util.Set; -import lombok.AllArgsConstructor; +import javax.inject.Inject; +import javax.inject.Named; import net.runelite.http.api.RuneLiteAPI; +import net.runelite.http.api.chat.Duels; +import net.runelite.http.api.chat.LayoutRoom; +import net.runelite.http.api.chat.Task; import okhttp3.HttpUrl; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.RequestBody; import okhttp3.Response; -@AllArgsConstructor public class ChatClient { private final OkHttpClient client; + private final HttpUrl apiBase; + + @Inject + private ChatClient(OkHttpClient client, @Named("runelite.api.base") HttpUrl apiBase) + { + this.client = client; + this.apiBase = apiBase; + } public boolean submitKc(String username, String boss, int kc) throws IOException { - HttpUrl url = RuneLiteAPI.getApiBase().newBuilder() + HttpUrl url = apiBase.newBuilder() .addPathSegment("chat") .addPathSegment("kc") .addQueryParameter("name", username) @@ -68,7 +79,7 @@ public class ChatClient public int getKc(String username, String boss) throws IOException { - HttpUrl url = RuneLiteAPI.getApiBase().newBuilder() + HttpUrl url = apiBase.newBuilder() .addPathSegment("chat") .addPathSegment("kc") .addQueryParameter("name", username) @@ -91,7 +102,7 @@ public class ChatClient public boolean submitQp(String username, int qp) throws IOException { - HttpUrl url = RuneLiteAPI.getApiBase().newBuilder() + HttpUrl url = apiBase.newBuilder() .addPathSegment("chat") .addPathSegment("qp") .addQueryParameter("name", username) @@ -111,7 +122,7 @@ public class ChatClient public int getQp(String username) throws IOException { - HttpUrl url = RuneLiteAPI.getApiBase().newBuilder() + HttpUrl url = apiBase.newBuilder() .addPathSegment("chat") .addPathSegment("qp") .addQueryParameter("name", username) @@ -133,7 +144,7 @@ public class ChatClient public boolean submitTask(String username, String task, int amount, int initialAmount, String location) throws IOException { - HttpUrl url = RuneLiteAPI.getApiBase().newBuilder() + HttpUrl url = apiBase.newBuilder() .addPathSegment("chat") .addPathSegment("task") .addQueryParameter("name", username) @@ -156,7 +167,7 @@ public class ChatClient public Task getTask(String username) throws IOException { - HttpUrl url = RuneLiteAPI.getApiBase().newBuilder() + HttpUrl url = apiBase.newBuilder() .addPathSegment("chat") .addPathSegment("task") .addQueryParameter("name", username) @@ -184,7 +195,7 @@ public class ChatClient public boolean submitPb(String username, String boss, double pb) throws IOException { - HttpUrl url = RuneLiteAPI.getApiBase().newBuilder() + HttpUrl url = apiBase.newBuilder() .addPathSegment("chat") .addPathSegment("pb") .addQueryParameter("name", username) @@ -205,7 +216,7 @@ public class ChatClient public double getPb(String username, String boss) throws IOException { - HttpUrl url = RuneLiteAPI.getApiBase().newBuilder() + HttpUrl url = apiBase.newBuilder() .addPathSegment("chat") .addPathSegment("pb") .addQueryParameter("name", username) @@ -228,7 +239,7 @@ public class ChatClient public boolean submitGc(String username, int gc) throws IOException { - HttpUrl url = RuneLiteAPI.getApiBase().newBuilder() + HttpUrl url = apiBase.newBuilder() .addPathSegment("chat") .addPathSegment("gc") .addQueryParameter("name", username) @@ -248,7 +259,7 @@ public class ChatClient public int getGc(String username) throws IOException { - HttpUrl url = RuneLiteAPI.getApiBase().newBuilder() + HttpUrl url = apiBase.newBuilder() .addPathSegment("chat") .addPathSegment("gc") .addQueryParameter("name", username) @@ -270,7 +281,7 @@ public class ChatClient public boolean submitDuels(String username, int wins, int losses, int winningStreak, int losingStreak) throws IOException { - HttpUrl url = RuneLiteAPI.getApiBase().newBuilder() + HttpUrl url = apiBase.newBuilder() .addPathSegment("chat") .addPathSegment("duels") .addQueryParameter("name", username) @@ -293,7 +304,7 @@ public class ChatClient public Duels getDuels(String username) throws IOException { - HttpUrl url = RuneLiteAPI.getApiBase().newBuilder() + HttpUrl url = apiBase.newBuilder() .addPathSegment("chat") .addPathSegment("duels") .addQueryParameter("name", username) @@ -321,7 +332,7 @@ public class ChatClient public boolean submitLayout(String username, LayoutRoom[] rooms) throws IOException { - HttpUrl url = RuneLiteAPI.getApiBase().newBuilder() + HttpUrl url = apiBase.newBuilder() .addPathSegment("chat") .addPathSegment("layout") .addQueryParameter("name", username) @@ -340,7 +351,7 @@ public class ChatClient public LayoutRoom[] getLayout(String username) throws IOException { - HttpUrl url = RuneLiteAPI.getApiBase().newBuilder() + HttpUrl url = apiBase.newBuilder() .addPathSegment("chat") .addPathSegment("layout") .addQueryParameter("name", username) @@ -368,7 +379,7 @@ public class ChatClient public boolean submitPetList(String username, Collection petList) throws IOException { - HttpUrl url = RuneLiteAPI.getApiBase().newBuilder() + HttpUrl url = apiBase.newBuilder() .addPathSegment("chat") .addPathSegment("pets") .addQueryParameter("name", username) @@ -387,7 +398,7 @@ public class ChatClient public Set getPetList(String username) throws IOException { - HttpUrl url = RuneLiteAPI.getApiBase().newBuilder() + HttpUrl url = apiBase.newBuilder() .addPathSegment("chat") .addPathSegment("pets") .addQueryParameter("name", username) diff --git a/http-api/src/main/java/net/runelite/http/api/config/ConfigClient.java b/runelite-client/src/main/java/net/runelite/client/config/ConfigClient.java similarity index 91% rename from http-api/src/main/java/net/runelite/http/api/config/ConfigClient.java rename to runelite-client/src/main/java/net/runelite/client/config/ConfigClient.java index b66b802399..a973d3c9a8 100644 --- a/http-api/src/main/java/net/runelite/http/api/config/ConfigClient.java +++ b/runelite-client/src/main/java/net/runelite/client/config/ConfigClient.java @@ -22,7 +22,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -package net.runelite.http.api.config; +package net.runelite.client.config; import com.google.gson.Gson; import com.google.gson.JsonParseException; @@ -32,9 +32,12 @@ import java.io.InputStreamReader; import java.nio.charset.StandardCharsets; import java.util.UUID; import java.util.concurrent.CompletableFuture; -import lombok.AllArgsConstructor; +import javax.inject.Inject; +import javax.inject.Named; +import lombok.Setter; import lombok.extern.slf4j.Slf4j; import net.runelite.http.api.RuneLiteAPI; +import net.runelite.http.api.config.Configuration; import okhttp3.Call; import okhttp3.Callback; import okhttp3.HttpUrl; @@ -44,7 +47,6 @@ import okhttp3.Request; import okhttp3.RequestBody; import okhttp3.Response; -@AllArgsConstructor @Slf4j public class ConfigClient { @@ -52,11 +54,21 @@ public class ConfigClient private static final Gson GSON = RuneLiteAPI.GSON; private final OkHttpClient client; - private final UUID uuid; + private final HttpUrl apiBase; + + @Setter + private UUID uuid; + + @Inject + private ConfigClient(OkHttpClient client, @Named("runelite.api.base") HttpUrl apiBase) + { + this.client = client; + this.apiBase = apiBase; + } public Configuration get() throws IOException { - HttpUrl url = RuneLiteAPI.getApiBase().newBuilder() + HttpUrl url = apiBase.newBuilder() .addPathSegment("config") .build(); @@ -82,7 +94,7 @@ public class ConfigClient { CompletableFuture future = new CompletableFuture<>(); - HttpUrl url = RuneLiteAPI.getApiBase().newBuilder() + HttpUrl url = apiBase.newBuilder() .addPathSegment("config") .addPathSegment(key) .build(); @@ -120,7 +132,7 @@ public class ConfigClient { CompletableFuture future = new CompletableFuture<>(); - HttpUrl url = RuneLiteAPI.getApiBase().newBuilder() + HttpUrl url = apiBase.newBuilder() .addPathSegment("config") .build(); @@ -173,7 +185,7 @@ public class ConfigClient { CompletableFuture future = new CompletableFuture<>(); - HttpUrl url = RuneLiteAPI.getApiBase().newBuilder() + HttpUrl url = apiBase.newBuilder() .addPathSegment("config") .addPathSegment(key) .build(); diff --git a/runelite-client/src/main/java/net/runelite/client/config/ConfigManager.java b/runelite-client/src/main/java/net/runelite/client/config/ConfigManager.java index b9b3a8503b..fd6e492d39 100644 --- a/runelite-client/src/main/java/net/runelite/client/config/ConfigManager.java +++ b/runelite-client/src/main/java/net/runelite/client/config/ConfigManager.java @@ -72,6 +72,7 @@ import java.util.concurrent.Future; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; +import javax.annotation.Nonnull; import javax.annotation.Nullable; import javax.inject.Inject; import javax.inject.Named; @@ -92,10 +93,8 @@ import net.runelite.client.events.ClientShutdown; import net.runelite.client.events.ConfigChanged; import net.runelite.client.events.RuneScapeProfileChanged; import net.runelite.client.util.ColorUtil; -import net.runelite.http.api.config.ConfigClient; import net.runelite.http.api.config.ConfigEntry; import net.runelite.http.api.config.Configuration; -import okhttp3.OkHttpClient; @Singleton @Slf4j @@ -116,11 +115,11 @@ public class ConfigManager private final File settingsFileInput; private final EventBus eventBus; - private final OkHttpClient okHttpClient; private final Gson gson; + @Nonnull + private final ConfigClient configClient; private AccountSession session; - private ConfigClient configClient; private File propertiesFile; @Nullable @@ -140,16 +139,16 @@ public class ConfigManager @Named("config") File config, ScheduledExecutorService scheduledExecutorService, EventBus eventBus, - OkHttpClient okHttpClient, @Nullable Client client, - Gson gson) + Gson gson, + ConfigClient configClient) { this.settingsFileInput = config; this.eventBus = eventBus; - this.okHttpClient = okHttpClient; this.client = client; this.propertiesFile = getPropertiesFile(); this.gson = gson; + this.configClient = configClient; scheduledExecutorService.scheduleWithFixedDelay(this::sendConfig, 30, 5 * 60, TimeUnit.SECONDS); } @@ -167,12 +166,12 @@ public class ConfigManager if (session == null) { this.session = null; - this.configClient = null; + configClient.setUuid(null); } else { this.session = session; - this.configClient = new ConfigClient(okHttpClient, session.getUuid()); + configClient.setUuid(session.getUuid()); } this.propertiesFile = getPropertiesFile(); @@ -201,7 +200,7 @@ public class ConfigManager public void load() { - if (configClient == null) + if (session == null) { loadFromFile(); return; @@ -909,7 +908,7 @@ public class ConfigManager return null; } - if (configClient != null) + if (session != null) { Configuration patch = new Configuration(pendingChanges.entrySet().stream() .map(e -> new ConfigEntry(e.getKey(), e.getValue())) diff --git a/runelite-client/src/main/java/net/runelite/client/externalplugins/ExternalPluginClient.java b/runelite-client/src/main/java/net/runelite/client/externalplugins/ExternalPluginClient.java index d101cc22bb..6bea4781c3 100644 --- a/runelite-client/src/main/java/net/runelite/client/externalplugins/ExternalPluginClient.java +++ b/runelite-client/src/main/java/net/runelite/client/externalplugins/ExternalPluginClient.java @@ -44,6 +44,7 @@ import java.util.List; import java.util.Map; import javax.imageio.ImageIO; import javax.inject.Inject; +import javax.inject.Named; import lombok.extern.slf4j.Slf4j; import net.runelite.client.RuneLiteProperties; import net.runelite.client.util.VerificationException; @@ -62,12 +63,17 @@ public class ExternalPluginClient { private final OkHttpClient okHttpClient; private final Gson gson; + private final HttpUrl apiBase; @Inject - private ExternalPluginClient(OkHttpClient okHttpClient, Gson gson) + private ExternalPluginClient(OkHttpClient okHttpClient, + Gson gson, + @Named("runelite.api.base") HttpUrl apiBase + ) { this.okHttpClient = okHttpClient; this.gson = gson; + this.apiBase = apiBase; } public List downloadManifest() throws IOException, VerificationException @@ -153,7 +159,7 @@ public class ExternalPluginClient return; } - HttpUrl url = RuneLiteAPI.getApiBase().newBuilder() + HttpUrl url = apiBase.newBuilder() .addPathSegment("pluginhub") .build(); @@ -181,7 +187,7 @@ public class ExternalPluginClient public Map getPluginCounts() throws IOException { - HttpUrl url = RuneLiteAPI.getApiBase() + HttpUrl url = apiBase .newBuilder() .addPathSegments("pluginhub") .build(); diff --git a/http-api/src/main/java/net/runelite/http/api/item/ItemClient.java b/runelite-client/src/main/java/net/runelite/client/game/ItemClient.java similarity index 85% rename from http-api/src/main/java/net/runelite/http/api/item/ItemClient.java rename to runelite-client/src/main/java/net/runelite/client/game/ItemClient.java index 37fb27fc24..f48be2532d 100644 --- a/http-api/src/main/java/net/runelite/http/api/item/ItemClient.java +++ b/runelite-client/src/main/java/net/runelite/client/game/ItemClient.java @@ -22,7 +22,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -package net.runelite.http.api.item; +package net.runelite.client.game; import com.google.gson.JsonParseException; import com.google.gson.reflect.TypeToken; @@ -32,23 +32,37 @@ import java.io.InputStreamReader; import java.lang.reflect.Type; import java.nio.charset.StandardCharsets; import java.util.Map; -import lombok.AllArgsConstructor; +import javax.inject.Inject; +import javax.inject.Named; import lombok.extern.slf4j.Slf4j; import net.runelite.http.api.RuneLiteAPI; +import net.runelite.http.api.item.ItemPrice; +import net.runelite.http.api.item.ItemStats; import okhttp3.HttpUrl; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; @Slf4j -@AllArgsConstructor public class ItemClient { private final OkHttpClient client; + private final HttpUrl apiBase, staticBase; + + @Inject + private ItemClient(OkHttpClient client, + @Named("runelite.api.base") HttpUrl apiBase, + @Named("runelite.static.base") HttpUrl staticBase + ) + { + this.client = client; + this.apiBase = apiBase; + this.staticBase = staticBase; + } public ItemPrice[] getPrices() throws IOException { - HttpUrl.Builder urlBuilder = RuneLiteAPI.getApiBase().newBuilder() + HttpUrl.Builder urlBuilder = apiBase.newBuilder() .addPathSegment("item") .addPathSegment("prices.js"); @@ -79,7 +93,7 @@ public class ItemClient public Map getStats() throws IOException { - HttpUrl.Builder urlBuilder = RuneLiteAPI.getStaticBase().newBuilder() + HttpUrl.Builder urlBuilder = staticBase.newBuilder() .addPathSegment("item") // TODO: Change this to stats.min.json later after release is undeployed .addPathSegment("stats.ids.min.json"); diff --git a/runelite-client/src/main/java/net/runelite/client/game/ItemManager.java b/runelite-client/src/main/java/net/runelite/client/game/ItemManager.java index edb1659b89..b02b332ef2 100644 --- a/runelite-client/src/main/java/net/runelite/client/game/ItemManager.java +++ b/runelite-client/src/main/java/net/runelite/client/game/ItemManager.java @@ -55,10 +55,8 @@ import net.runelite.api.SpritePixels; import net.runelite.client.callback.ClientThread; import net.runelite.client.config.RuneLiteConfig; import net.runelite.client.util.AsyncBufferedImage; -import net.runelite.http.api.item.ItemClient; import net.runelite.http.api.item.ItemPrice; import net.runelite.http.api.item.ItemStats; -import okhttp3.OkHttpClient; @Singleton @Slf4j @@ -167,11 +165,11 @@ public class ItemManager @Inject public ItemManager(Client client, ScheduledExecutorService scheduledExecutorService, ClientThread clientThread, - OkHttpClient okHttpClient, RuneLiteConfig runeLiteConfig) + ItemClient itemClient, RuneLiteConfig runeLiteConfig) { this.client = client; this.clientThread = clientThread; - this.itemClient = new ItemClient(okHttpClient); + this.itemClient = itemClient; this.runeLiteConfig = runeLiteConfig; scheduledExecutorService.scheduleWithFixedDelay(this::loadPrices, 0, 30, TimeUnit.MINUTES); diff --git a/runelite-client/src/main/java/net/runelite/client/game/NPCManager.java b/runelite-client/src/main/java/net/runelite/client/game/NPCManager.java index 1a51afea3f..c1d182be38 100644 --- a/runelite-client/src/main/java/net/runelite/client/game/NPCManager.java +++ b/runelite-client/src/main/java/net/runelite/client/game/NPCManager.java @@ -32,21 +32,18 @@ import javax.annotation.Nullable; import javax.inject.Inject; import javax.inject.Singleton; import lombok.extern.slf4j.Slf4j; -import net.runelite.http.api.npc.NpcInfo; -import net.runelite.http.api.npc.NpcInfoClient; -import okhttp3.OkHttpClient; @Singleton @Slf4j public class NPCManager { - private final OkHttpClient okHttpClient; + private final NpcInfoClient npcInfoClient; private Map npcMap = Collections.emptyMap(); @Inject - private NPCManager(OkHttpClient okHttpClient, ScheduledExecutorService scheduledExecutorService) + private NPCManager(NpcInfoClient npcInfoClient, ScheduledExecutorService scheduledExecutorService) { - this.okHttpClient = okHttpClient; + this.npcInfoClient = npcInfoClient; scheduledExecutorService.execute(this::loadNpcs); } @@ -67,7 +64,7 @@ public class NPCManager { try { - npcMap = new NpcInfoClient(okHttpClient).getNpcs(); + npcMap = npcInfoClient.getNpcs(); } catch (IOException e) { diff --git a/http-api/src/main/java/net/runelite/http/api/npc/NpcInfo.java b/runelite-client/src/main/java/net/runelite/client/game/NpcInfo.java similarity index 97% rename from http-api/src/main/java/net/runelite/http/api/npc/NpcInfo.java rename to runelite-client/src/main/java/net/runelite/client/game/NpcInfo.java index 091f36e471..c33832c75c 100644 --- a/http-api/src/main/java/net/runelite/http/api/npc/NpcInfo.java +++ b/runelite-client/src/main/java/net/runelite/client/game/NpcInfo.java @@ -22,7 +22,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -package net.runelite.http.api.npc; +package net.runelite.client.game; import lombok.Data; diff --git a/http-api/src/main/java/net/runelite/http/api/npc/NpcInfoClient.java b/runelite-client/src/main/java/net/runelite/client/game/NpcInfoClient.java similarity index 88% rename from http-api/src/main/java/net/runelite/http/api/npc/NpcInfoClient.java rename to runelite-client/src/main/java/net/runelite/client/game/NpcInfoClient.java index d7c4396625..aa625e4928 100644 --- a/http-api/src/main/java/net/runelite/http/api/npc/NpcInfoClient.java +++ b/runelite-client/src/main/java/net/runelite/client/game/NpcInfoClient.java @@ -22,7 +22,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -package net.runelite.http.api.npc; +package net.runelite.client.game; import com.google.gson.JsonParseException; import com.google.gson.reflect.TypeToken; @@ -32,7 +32,8 @@ import java.io.InputStreamReader; import java.lang.reflect.Type; import java.nio.charset.StandardCharsets; import java.util.Map; -import lombok.Value; +import javax.inject.Inject; +import javax.inject.Named; import lombok.extern.slf4j.Slf4j; import net.runelite.http.api.RuneLiteAPI; import okhttp3.HttpUrl; @@ -41,14 +42,21 @@ import okhttp3.Request; import okhttp3.Response; @Slf4j -@Value public class NpcInfoClient { private final OkHttpClient client; + private final HttpUrl staticBase; + + @Inject + private NpcInfoClient(OkHttpClient client, @Named("runelite.static.base") HttpUrl staticBase) + { + this.client = client; + this.staticBase = staticBase; + } public Map getNpcs() throws IOException { - HttpUrl.Builder urlBuilder = RuneLiteAPI.getStaticBase().newBuilder() + HttpUrl.Builder urlBuilder = staticBase.newBuilder() .addPathSegment("npcs") .addPathSegment("npcs.min.json"); diff --git a/http-api/src/main/java/net/runelite/http/api/worlds/WorldClient.java b/runelite-client/src/main/java/net/runelite/client/game/WorldClient.java similarity index 94% rename from http-api/src/main/java/net/runelite/http/api/worlds/WorldClient.java rename to runelite-client/src/main/java/net/runelite/client/game/WorldClient.java index d6e0865f14..9c0c442a0f 100644 --- a/http-api/src/main/java/net/runelite/http/api/worlds/WorldClient.java +++ b/runelite-client/src/main/java/net/runelite/client/game/WorldClient.java @@ -23,7 +23,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -package net.runelite.http.api.worlds; +package net.runelite.client.game; import com.google.gson.JsonParseException; import java.io.IOException; @@ -33,6 +33,7 @@ import java.nio.charset.StandardCharsets; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import net.runelite.http.api.RuneLiteAPI; +import net.runelite.http.api.worlds.WorldResult; import okhttp3.HttpUrl; import okhttp3.OkHttpClient; import okhttp3.Request; @@ -43,10 +44,11 @@ import okhttp3.Response; public class WorldClient { private final OkHttpClient client; + private final HttpUrl apiBase; public WorldResult lookupWorlds() throws IOException { - HttpUrl url = RuneLiteAPI.getApiBase().newBuilder() + HttpUrl url = apiBase.newBuilder() .addPathSegment("worlds.js") .build(); diff --git a/runelite-client/src/main/java/net/runelite/client/game/WorldService.java b/runelite-client/src/main/java/net/runelite/client/game/WorldService.java index 4cc102016d..77864bca17 100644 --- a/runelite-client/src/main/java/net/runelite/client/game/WorldService.java +++ b/runelite-client/src/main/java/net/runelite/client/game/WorldService.java @@ -33,6 +33,7 @@ import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; import javax.annotation.Nullable; import javax.inject.Inject; +import javax.inject.Named; import javax.inject.Singleton; import lombok.extern.slf4j.Slf4j; import net.runelite.api.Client; @@ -41,8 +42,8 @@ import net.runelite.client.eventbus.EventBus; import net.runelite.client.events.WorldsFetch; import net.runelite.client.util.RunnableExceptionLogger; import net.runelite.http.api.worlds.World; -import net.runelite.http.api.worlds.WorldClient; import net.runelite.http.api.worlds.WorldResult; +import okhttp3.HttpUrl; import okhttp3.OkHttpClient; @Singleton @@ -61,11 +62,11 @@ public class WorldService @Inject private WorldService(Client client, ScheduledExecutorService scheduledExecutorService, OkHttpClient okHttpClient, - EventBus eventBus) + @Named("runelite.api.base") HttpUrl apiBase, EventBus eventBus) { this.client = client; this.scheduledExecutorService = scheduledExecutorService; - this.worldClient = new WorldClient(okHttpClient); + this.worldClient = new WorldClient(okHttpClient, apiBase); this.eventBus = eventBus; scheduledExecutorService.scheduleWithFixedDelay(RunnableExceptionLogger.wrap(this::tick), 0, WORLD_FETCH_TIMER, TimeUnit.MINUTES); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsPlugin.java index 4105a926a5..4973401812 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsPlugin.java @@ -73,6 +73,7 @@ import static net.runelite.api.widgets.WidgetID.DIARY_QUEST_GROUP_ID; import static net.runelite.api.widgets.WidgetID.KILL_LOGS_GROUP_ID; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.callback.ClientThread; +import net.runelite.client.chat.ChatClient; import net.runelite.client.chat.ChatColorType; import net.runelite.client.chat.ChatCommandManager; import net.runelite.client.chat.ChatMessageBuilder; @@ -93,7 +94,6 @@ import net.runelite.client.plugins.PluginDescriptor; import net.runelite.client.util.ImageUtil; import net.runelite.client.util.QuantityFormatter; import net.runelite.client.util.Text; -import net.runelite.http.api.chat.ChatClient; import net.runelite.http.api.chat.Duels; import net.runelite.http.api.item.ItemPrice; import okhttp3.OkHttpClient; diff --git a/http-api/src/main/java/net/runelite/http/api/feed/FeedClient.java b/runelite-client/src/main/java/net/runelite/client/plugins/feed/FeedClient.java similarity index 86% rename from http-api/src/main/java/net/runelite/http/api/feed/FeedClient.java rename to runelite-client/src/main/java/net/runelite/client/plugins/feed/FeedClient.java index a0b628df33..f1b2506393 100644 --- a/http-api/src/main/java/net/runelite/http/api/feed/FeedClient.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/feed/FeedClient.java @@ -22,30 +22,39 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -package net.runelite.http.api.feed; +package net.runelite.client.plugins.feed; import com.google.gson.JsonParseException; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.nio.charset.StandardCharsets; -import lombok.RequiredArgsConstructor; +import javax.inject.Inject; +import javax.inject.Named; import lombok.extern.slf4j.Slf4j; import net.runelite.http.api.RuneLiteAPI; +import net.runelite.http.api.feed.FeedResult; import okhttp3.HttpUrl; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; @Slf4j -@RequiredArgsConstructor public class FeedClient { private final OkHttpClient client; + private final HttpUrl apiBase; + + @Inject + private FeedClient(OkHttpClient client, @Named("runelite.api.base") HttpUrl apiBase) + { + this.client = client; + this.apiBase = apiBase; + } public FeedResult lookupFeed() throws IOException { - HttpUrl url = RuneLiteAPI.getApiBase().newBuilder() + HttpUrl url = apiBase.newBuilder() .addPathSegment("feed.js") .build(); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/feed/FeedPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/feed/FeedPlugin.java index ebe607d986..f315f59374 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/feed/FeedPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/feed/FeedPlugin.java @@ -45,9 +45,7 @@ import net.runelite.client.task.Schedule; import net.runelite.client.ui.ClientToolbar; import net.runelite.client.ui.NavigationButton; import net.runelite.client.util.ImageUtil; -import net.runelite.http.api.feed.FeedClient; import net.runelite.http.api.feed.FeedResult; -import okhttp3.OkHttpClient; @PluginDescriptor( name = "News Feed", @@ -145,10 +143,4 @@ public class FeedPlugin extends Plugin { return configManager.getConfig(FeedConfig.class); } - - @Provides - FeedClient provideFeedClient(OkHttpClient okHttpClient) - { - return new FeedClient(okHttpClient); - } } diff --git a/http-api/src/main/java/net/runelite/http/api/ge/GrandExchangeClient.java b/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangeClient.java similarity index 87% rename from http-api/src/main/java/net/runelite/http/api/ge/GrandExchangeClient.java rename to runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangeClient.java index 1d898ccf27..c50043ea80 100644 --- a/http-api/src/main/java/net/runelite/http/api/ge/GrandExchangeClient.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangeClient.java @@ -22,16 +22,18 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -package net.runelite.http.api.ge; +package net.runelite.client.plugins.grandexchange; import com.google.gson.Gson; import java.io.IOException; import java.util.UUID; -import lombok.RequiredArgsConstructor; +import javax.inject.Inject; +import javax.inject.Named; import lombok.Setter; import lombok.extern.slf4j.Slf4j; import net.runelite.http.api.RuneLiteAPI; import static net.runelite.http.api.RuneLiteAPI.JSON; +import net.runelite.http.api.ge.GrandExchangeTrade; import okhttp3.Call; import okhttp3.Callback; import okhttp3.HttpUrl; @@ -41,21 +43,28 @@ import okhttp3.RequestBody; import okhttp3.Response; @Slf4j -@RequiredArgsConstructor public class GrandExchangeClient { private static final Gson GSON = RuneLiteAPI.GSON; private final OkHttpClient client; + private final HttpUrl apiBase; @Setter private UUID uuid; @Setter private String machineId; + @Inject + private GrandExchangeClient(OkHttpClient client, @Named("runelite.api.base") HttpUrl apiBase) + { + this.client = client; + this.apiBase = apiBase; + } + public void submit(GrandExchangeTrade grandExchangeTrade) { - final HttpUrl url = RuneLiteAPI.getApiBase().newBuilder() + final HttpUrl url = apiBase.newBuilder() .addPathSegment("ge") .build(); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangePlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangePlugin.java index 3728bad6dd..63f2c84669 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangePlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangePlugin.java @@ -100,11 +100,9 @@ import net.runelite.client.util.LinkBrowser; import net.runelite.client.util.OSType; import net.runelite.client.util.QuantityFormatter; import net.runelite.client.util.Text; -import net.runelite.http.api.ge.GrandExchangeClient; import net.runelite.http.api.ge.GrandExchangeTrade; import net.runelite.http.api.item.ItemStats; import net.runelite.http.api.worlds.WorldType; -import okhttp3.OkHttpClient; import org.apache.commons.lang3.time.DurationFormatUtils; import org.apache.commons.text.similarity.FuzzyScore; @@ -259,12 +257,6 @@ public class GrandExchangePlugin extends Plugin return configManager.getConfig(GrandExchangeConfig.class); } - @Provides - GrandExchangeClient provideGrandExchangeClient(OkHttpClient okHttpClient) - { - return new GrandExchangeClient(okHttpClient); - } - @Override protected void startUp() { diff --git a/http-api/src/main/java/net/runelite/http/api/loottracker/LootTrackerClient.java b/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerClient.java similarity index 89% rename from http-api/src/main/java/net/runelite/http/api/loottracker/LootTrackerClient.java rename to runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerClient.java index 4fc68a6ba5..1f4d99c549 100644 --- a/http-api/src/main/java/net/runelite/http/api/loottracker/LootTrackerClient.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerClient.java @@ -22,7 +22,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -package net.runelite.http.api.loottracker; +package net.runelite.client.plugins.loottracker; import com.google.gson.Gson; import com.google.gson.JsonParseException; @@ -35,12 +35,15 @@ import java.util.Collection; import java.util.List; import java.util.UUID; import java.util.concurrent.CompletableFuture; +import javax.inject.Inject; +import javax.inject.Named; import lombok.Getter; -import lombok.RequiredArgsConstructor; import lombok.Setter; import lombok.extern.slf4j.Slf4j; import net.runelite.http.api.RuneLiteAPI; import static net.runelite.http.api.RuneLiteAPI.JSON; +import net.runelite.http.api.loottracker.LootAggregate; +import net.runelite.http.api.loottracker.LootRecord; import okhttp3.Call; import okhttp3.Callback; import okhttp3.HttpUrl; @@ -50,21 +53,29 @@ import okhttp3.RequestBody; import okhttp3.Response; @Slf4j -@RequiredArgsConstructor public class LootTrackerClient { private static final Gson GSON = RuneLiteAPI.GSON; private final OkHttpClient client; + private final HttpUrl apiBase; + @Getter @Setter private UUID uuid; + @Inject + private LootTrackerClient(OkHttpClient client, @Named("runelite.api.base") HttpUrl apiBase) + { + this.client = client; + this.apiBase = apiBase; + } + public CompletableFuture submit(Collection lootRecords) { CompletableFuture future = new CompletableFuture<>(); - HttpUrl url = RuneLiteAPI.getApiBase().newBuilder() + HttpUrl url = apiBase.newBuilder() .addPathSegment("loottracker") .build(); @@ -107,7 +118,7 @@ public class LootTrackerClient public Collection get() throws IOException { - HttpUrl url = RuneLiteAPI.getApiBase().newBuilder() + HttpUrl url = apiBase.newBuilder() .addPathSegment("loottracker") .build(); @@ -137,7 +148,7 @@ public class LootTrackerClient public void delete(String eventId) { - HttpUrl.Builder builder = RuneLiteAPI.getApiBase().newBuilder() + HttpUrl.Builder builder = apiBase.newBuilder() .addPathSegment("loottracker"); if (eventId != null) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPanel.java b/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPanel.java index a3d500dc49..654d7db9b1 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPanel.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPanel.java @@ -65,7 +65,6 @@ import net.runelite.client.util.ImageUtil; import net.runelite.client.util.QuantityFormatter; import net.runelite.client.util.SwingUtil; import net.runelite.http.api.loottracker.LootRecordType; -import net.runelite.http.api.loottracker.LootTrackerClient; class LootTrackerPanel extends PluginPanel { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPlugin.java index b29c67be58..056022045c 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPlugin.java @@ -114,8 +114,6 @@ import net.runelite.http.api.loottracker.GameItem; import net.runelite.http.api.loottracker.LootAggregate; import net.runelite.http.api.loottracker.LootRecord; import net.runelite.http.api.loottracker.LootRecordType; -import net.runelite.http.api.loottracker.LootTrackerClient; -import okhttp3.OkHttpClient; import org.apache.commons.text.WordUtils; @PluginDescriptor( @@ -340,12 +338,6 @@ public class LootTrackerPlugin extends Plugin return list; } - @Provides - LootTrackerClient provideLootTrackerClient(OkHttpClient okHttpClient) - { - return new LootTrackerClient(okHttpClient); - } - @Provides LootTrackerConfig provideConfig(ConfigManager configManager) { diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsPlugin.java index 3cc468a39d..4722d85d85 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsPlugin.java @@ -67,6 +67,7 @@ import net.runelite.api.events.GameStateChanged; import net.runelite.api.events.GameTick; import net.runelite.api.events.VarbitChanged; import net.runelite.client.callback.ClientThread; +import net.runelite.client.chat.ChatClient; import net.runelite.client.chat.ChatColorType; import net.runelite.client.chat.ChatCommandManager; import net.runelite.client.chat.ChatMessageBuilder; @@ -96,7 +97,6 @@ import static net.runelite.client.util.Text.sanitize; import net.runelite.client.ws.PartyMember; import net.runelite.client.ws.PartyService; import net.runelite.client.ws.WSClient; -import net.runelite.http.api.chat.ChatClient; import net.runelite.http.api.chat.LayoutRoom; import net.runelite.http.api.ws.messages.party.PartyChatMessage; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerPlugin.java index 41598f00c4..3b35670873 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerPlugin.java @@ -74,6 +74,7 @@ import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.Notifier; import net.runelite.client.callback.ClientThread; +import net.runelite.client.chat.ChatClient; import net.runelite.client.chat.ChatColorType; import net.runelite.client.chat.ChatCommandManager; import net.runelite.client.chat.ChatMessageBuilder; @@ -91,7 +92,6 @@ import net.runelite.client.ui.overlay.OverlayManager; import net.runelite.client.ui.overlay.infobox.InfoBoxManager; import net.runelite.client.util.ColorUtil; import net.runelite.client.util.Text; -import net.runelite.http.api.chat.ChatClient; import org.apache.commons.lang3.ArrayUtils; @PluginDescriptor( diff --git a/http-api/src/main/java/net/runelite/http/api/xp/XpClient.java b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpClient.java similarity index 88% rename from http-api/src/main/java/net/runelite/http/api/xp/XpClient.java rename to runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpClient.java index 76acf6ad63..d07cec417f 100644 --- a/http-api/src/main/java/net/runelite/http/api/xp/XpClient.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpClient.java @@ -22,11 +22,12 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -package net.runelite.http.api.xp; +package net.runelite.client.plugins.xptracker; import java.io.IOException; +import javax.inject.Inject; +import javax.inject.Named; import lombok.extern.slf4j.Slf4j; -import net.runelite.http.api.RuneLiteAPI; import okhttp3.Call; import okhttp3.Callback; import okhttp3.HttpUrl; @@ -38,15 +39,18 @@ import okhttp3.Response; public class XpClient { private final OkHttpClient client; + private final HttpUrl apiBase; - public XpClient(OkHttpClient client) + @Inject + private XpClient(OkHttpClient client, @Named("runelite.api.base") HttpUrl apiBase) { this.client = client; + this.apiBase = apiBase; } public void update(String username) { - HttpUrl url = RuneLiteAPI.getApiBase().newBuilder() + HttpUrl url = apiBase.newBuilder() .addPathSegment("xp") .addPathSegment("update") .addQueryParameter("username", username) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java index 5407226a99..69ff78aa17 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java @@ -69,8 +69,6 @@ import net.runelite.client.ui.NavigationButton; import net.runelite.client.ui.overlay.OverlayManager; import net.runelite.client.util.ImageUtil; import net.runelite.client.util.Text; -import net.runelite.http.api.xp.XpClient; -import okhttp3.OkHttpClient; @PluginDescriptor( name = "XP Tracker", @@ -139,12 +137,6 @@ public class XpTrackerPlugin extends Plugin return configManager.getConfig(XpTrackerConfig.class); } - @Provides - XpClient provideXpClient(OkHttpClient okHttpClient) - { - return new XpClient(okHttpClient); - } - @Override public void configure(Binder binder) { diff --git a/http-api/src/main/java/net/runelite/http/api/xtea/XteaClient.java b/runelite-client/src/main/java/net/runelite/client/plugins/xtea/XteaClient.java similarity index 86% rename from http-api/src/main/java/net/runelite/http/api/xtea/XteaClient.java rename to runelite-client/src/main/java/net/runelite/client/plugins/xtea/XteaClient.java index 1fdf364047..1f494a05f0 100644 --- a/http-api/src/main/java/net/runelite/http/api/xtea/XteaClient.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/xtea/XteaClient.java @@ -22,7 +22,7 @@ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -package net.runelite.http.api.xtea; +package net.runelite.client.plugins.xtea; import com.google.gson.JsonParseException; import com.google.gson.reflect.TypeToken; @@ -31,10 +31,13 @@ import java.io.InputStream; import java.io.InputStreamReader; import java.nio.charset.StandardCharsets; import java.util.List; -import lombok.AllArgsConstructor; +import javax.inject.Inject; +import javax.inject.Named; import lombok.extern.slf4j.Slf4j; import net.runelite.http.api.RuneLiteAPI; import static net.runelite.http.api.RuneLiteAPI.JSON; +import net.runelite.http.api.xtea.XteaKey; +import net.runelite.http.api.xtea.XteaRequest; import okhttp3.Call; import okhttp3.Callback; import okhttp3.HttpUrl; @@ -44,23 +47,28 @@ import okhttp3.RequestBody; import okhttp3.Response; @Slf4j -@AllArgsConstructor public class XteaClient { private final OkHttpClient client; + private final HttpUrl apiBase; + + @Inject + private XteaClient(OkHttpClient client, @Named("runelite.api.base") HttpUrl apiBase) + { + this.client = client; + this.apiBase = apiBase; + } public void submit(XteaRequest xteaRequest) { - String json = RuneLiteAPI.GSON.toJson(xteaRequest); - - HttpUrl url = RuneLiteAPI.getApiBase().newBuilder() + HttpUrl url = apiBase.newBuilder() .addPathSegment("xtea") .build(); log.debug("Built URI: {}", url); Request request = new Request.Builder() - .post(RequestBody.create(JSON, json)) + .post(RequestBody.create(JSON, RuneLiteAPI.GSON.toJson(xteaRequest))) .url(url) .build(); @@ -75,7 +83,7 @@ public class XteaClient @Override public void onResponse(Call call, Response response) { - try + try // NOPMD: UseTryWithResources { if (!response.isSuccessful()) { @@ -92,7 +100,7 @@ public class XteaClient public List get() throws IOException { - HttpUrl url = RuneLiteAPI.getApiBase().newBuilder() + HttpUrl url = apiBase.newBuilder() .addPathSegment("xtea") .build(); @@ -115,7 +123,7 @@ public class XteaClient public XteaKey get(int region) throws IOException { - HttpUrl url = RuneLiteAPI.getApiBase().newBuilder() + HttpUrl url = apiBase.newBuilder() .addPathSegment("xtea") .addPathSegment(Integer.toString(region)) .build(); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/xtea/XteaPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/xtea/XteaPlugin.java index 4eae636114..9fd2df609a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/xtea/XteaPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/xtea/XteaPlugin.java @@ -24,7 +24,6 @@ */ package net.runelite.client.plugins.xtea; -import com.google.inject.Provides; import java.util.HashSet; import java.util.Set; import javax.inject.Inject; @@ -35,10 +34,8 @@ import net.runelite.api.events.GameStateChanged; import net.runelite.client.eventbus.Subscribe; import net.runelite.client.plugins.Plugin; import net.runelite.client.plugins.PluginDescriptor; -import net.runelite.http.api.xtea.XteaClient; import net.runelite.http.api.xtea.XteaKey; import net.runelite.http.api.xtea.XteaRequest; -import okhttp3.OkHttpClient; @PluginDescriptor( name = "Xtea", @@ -55,12 +52,6 @@ public class XteaPlugin extends Plugin @Inject private XteaClient xteaClient; - @Provides - XteaClient provideXteaClient(OkHttpClient okHttpClient) - { - return new XteaClient(okHttpClient); - } - @Subscribe public void onGameStateChanged(GameStateChanged gameStateChanged) { diff --git a/runelite-client/src/main/java/net/runelite/client/rs/WorldSupplier.java b/runelite-client/src/main/java/net/runelite/client/rs/WorldSupplier.java index 16cf8141ad..26b3139a64 100644 --- a/runelite-client/src/main/java/net/runelite/client/rs/WorldSupplier.java +++ b/runelite-client/src/main/java/net/runelite/client/rs/WorldSupplier.java @@ -35,9 +35,11 @@ import java.util.function.Supplier; import java.util.stream.Collectors; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import net.runelite.client.RuneLiteProperties; import net.runelite.http.api.worlds.World; -import net.runelite.http.api.worlds.WorldClient; +import net.runelite.client.game.WorldClient; import net.runelite.http.api.worlds.WorldType; +import okhttp3.HttpUrl; import okhttp3.OkHttpClient; @Slf4j @@ -46,7 +48,7 @@ class WorldSupplier implements Supplier { private final OkHttpClient okHttpClient; private final Random random = new Random(System.nanoTime()); - private Queue worlds = new ArrayDeque<>(); + private final Queue worlds = new ArrayDeque<>(); @Override public World get() @@ -58,7 +60,7 @@ class WorldSupplier implements Supplier try { - List newWorlds = new WorldClient(okHttpClient) + List newWorlds = new WorldClient(okHttpClient, HttpUrl.get(RuneLiteProperties.getApiBase())) .lookupWorlds() .getWorlds() .stream() diff --git a/runelite-client/src/main/java/net/runelite/client/ws/WSClient.java b/runelite-client/src/main/java/net/runelite/client/ws/WSClient.java index 88fc16abed..41ac088c7d 100644 --- a/runelite-client/src/main/java/net/runelite/client/ws/WSClient.java +++ b/runelite-client/src/main/java/net/runelite/client/ws/WSClient.java @@ -31,6 +31,7 @@ import java.util.HashSet; import java.util.Objects; import java.util.UUID; import javax.inject.Inject; +import javax.inject.Named; import javax.inject.Singleton; import lombok.Getter; import lombok.extern.slf4j.Slf4j; @@ -40,6 +41,7 @@ import net.runelite.http.api.ws.WebsocketGsonFactory; import net.runelite.http.api.ws.WebsocketMessage; import net.runelite.http.api.ws.messages.Handshake; import net.runelite.http.api.ws.messages.party.PartyMessage; +import okhttp3.HttpUrl; import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.Response; @@ -52,6 +54,7 @@ public class WSClient extends WebSocketListener implements AutoCloseable { private final EventBus eventBus; private final OkHttpClient okHttpClient; + private final HttpUrl runeliteWs; private final Collection> messages = new HashSet<>(); private volatile Gson gson; @@ -60,10 +63,11 @@ public class WSClient extends WebSocketListener implements AutoCloseable private WebSocket webSocket; @Inject - private WSClient(EventBus eventBus, OkHttpClient okHttpClient) + private WSClient(EventBus eventBus, OkHttpClient okHttpClient, @Named("runelite.ws") HttpUrl runeliteWs) { this.eventBus = eventBus; this.okHttpClient = okHttpClient; + this.runeliteWs = runeliteWs; this.gson = WebsocketGsonFactory.build(WebsocketGsonFactory.factory(messages)); } @@ -101,7 +105,7 @@ public class WSClient extends WebSocketListener implements AutoCloseable } Request request = new Request.Builder() - .url(RuneLiteAPI.getWsEndpoint()) + .url(runeliteWs) .header("User-Agent", RuneLiteAPI.userAgent) .build(); diff --git a/runelite-client/src/main/resources/net/runelite/client/runelite.properties b/runelite-client/src/main/resources/net/runelite/client/runelite.properties index e5f37e2fe7..50b70b6e83 100644 --- a/runelite-client/src/main/resources/net/runelite/client/runelite.properties +++ b/runelite-client/src/main/resources/net/runelite/client/runelite.properties @@ -12,4 +12,8 @@ runelite.jav_config=https://oldschool.runescape.com/jav_config.ws runelite.jav_config_backup=https://static.runelite.net/jav_config.ws runelite.pluginhub.url=https://repo.runelite.net/plugins runelite.pluginhub.version=${project.version} -runelite.imgur.client.id=30d71e5f6860809 \ No newline at end of file +runelite.imgur.client.id=30d71e5f6860809 +runelite.api.base=https://api.runelite.net/runelite-${project.version} +runelite.session=https://api.runelite.net/session +runelite.static.base=https://static.runelite.net +runelite.ws=https://api.runelite.net/ws \ No newline at end of file diff --git a/runelite-client/src/test/java/net/runelite/client/config/ConfigManagerTest.java b/runelite-client/src/test/java/net/runelite/client/config/ConfigManagerTest.java index 4f384e83ec..4b46a8844f 100644 --- a/runelite-client/src/test/java/net/runelite/client/config/ConfigManagerTest.java +++ b/runelite-client/src/test/java/net/runelite/client/config/ConfigManagerTest.java @@ -73,6 +73,10 @@ public class ConfigManagerTest @Bind Client client; + @Mock + @Bind + ConfigClient configClient; + @Inject ConfigManager manager; diff --git a/runelite-client/src/test/java/net/runelite/client/hiscore/HiscoreClientTest.java b/runelite-client/src/test/java/net/runelite/client/hiscore/HiscoreClientTest.java index fbc2e7b48f..e0b079e6b8 100644 --- a/runelite-client/src/test/java/net/runelite/client/hiscore/HiscoreClientTest.java +++ b/runelite-client/src/test/java/net/runelite/client/hiscore/HiscoreClientTest.java @@ -25,7 +25,7 @@ package net.runelite.client.hiscore; import java.io.IOException; -import net.runelite.http.api.RuneLiteAPI; +import okhttp3.OkHttpClient; import okhttp3.mockwebserver.MockResponse; import okhttp3.mockwebserver.MockWebServer; import static org.junit.Assert.assertEquals; @@ -132,7 +132,7 @@ public class HiscoreClientTest @Test public void testNormalLookup() throws Exception { - HiscoreClient hiscoreClient = new HiscoreClient(RuneLiteAPI.CLIENT); + HiscoreClient hiscoreClient = new HiscoreClient(new OkHttpClient()); HiscoreResult result = hiscoreClient.lookup("zezima", server.url("/")); diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/chatcommands/ChatCommandsPluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/chatcommands/ChatCommandsPluginTest.java index 8ac44d3a6a..918732d049 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/chatcommands/ChatCommandsPluginTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/chatcommands/ChatCommandsPluginTest.java @@ -49,17 +49,18 @@ import net.runelite.api.widgets.Widget; import static net.runelite.api.widgets.WidgetID.ADVENTURE_LOG_ID; import static net.runelite.api.widgets.WidgetID.DIARY_QUEST_GROUP_ID; import net.runelite.api.widgets.WidgetInfo; +import net.runelite.client.chat.ChatClient; import net.runelite.client.chat.ChatCommandManager; import net.runelite.client.chat.ChatMessageManager; import net.runelite.client.config.ChatColorConfig; import net.runelite.client.config.ConfigManager; import net.runelite.client.config.RuneLiteConfig; +import net.runelite.client.game.ItemManager; import net.runelite.client.hiscore.HiscoreClient; import net.runelite.client.hiscore.HiscoreEndpoint; import net.runelite.client.hiscore.HiscoreResult; import net.runelite.client.hiscore.Skill; import net.runelite.http.api.RuneLiteAPI; -import net.runelite.http.api.chat.ChatClient; import static org.junit.Assert.assertEquals; import org.junit.Before; import org.junit.Test; @@ -116,6 +117,10 @@ public class ChatCommandsPluginTest @Bind RuneLiteConfig runeLiteConfig; + @Mock + @Bind + ItemManager itemManager; + @Mock @Bind ChatCommandsConfig chatCommandsConfig; diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/grandexchange/GrandExchangePluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/grandexchange/GrandExchangePluginTest.java index b6139cc265..dd46f28550 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/grandexchange/GrandExchangePluginTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/grandexchange/GrandExchangePluginTest.java @@ -51,7 +51,6 @@ import net.runelite.client.input.KeyManager; import net.runelite.client.input.MouseManager; import static net.runelite.client.plugins.grandexchange.GrandExchangePlugin.findFuzzyIndices; import static net.runelite.http.api.RuneLiteAPI.GSON; -import net.runelite.http.api.ge.GrandExchangeClient; import net.runelite.http.api.ge.GrandExchangeTrade; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/loottracker/LootTrackerPluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/loottracker/LootTrackerPluginTest.java index cff8a46591..4f2288a136 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/loottracker/LootTrackerPluginTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/loottracker/LootTrackerPluginTest.java @@ -61,7 +61,6 @@ import net.runelite.client.game.SpriteManager; import net.runelite.client.ui.overlay.infobox.InfoBoxManager; import net.runelite.http.api.item.ItemPrice; import net.runelite.http.api.loottracker.LootRecordType; -import net.runelite.http.api.loottracker.LootTrackerClient; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNull; import org.junit.Before; diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/raids/RaidsPluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/raids/RaidsPluginTest.java index ca13ae0c88..ff8ecbc5a6 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/raids/RaidsPluginTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/raids/RaidsPluginTest.java @@ -31,13 +31,14 @@ import com.google.inject.testing.fieldbinder.BoundFieldModule; import java.util.concurrent.ScheduledExecutorService; import net.runelite.api.Client; import net.runelite.client.Notifier; +import net.runelite.client.chat.ChatClient; import net.runelite.client.config.ChatColorConfig; import net.runelite.client.config.RuneLiteConfig; import net.runelite.client.ui.overlay.OverlayManager; import net.runelite.client.ui.overlay.infobox.InfoBoxManager; import net.runelite.client.util.ImageCapture; import net.runelite.client.ws.PartyService; -import net.runelite.http.api.chat.ChatClient; +import net.runelite.client.ws.WSClient; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertTrue; import org.junit.Before; @@ -79,25 +80,33 @@ public class RaidsPluginTest @Bind ChatClient chatClient; + @Mock + @Bind + InfoBoxManager infoBoxManager; + + @Mock + @Bind + PartyService partyService; + + @Mock + @Bind + OverlayManager overlayManager; + + @Mock + @Bind + WSClient wsClient; + @Mock @Bind RaidsConfig raidsConfig; + @Mock + @Bind + RaidsOverlay raidsOverlay; + @Inject RaidsPlugin raidsPlugin; - @Mock - @Bind - private InfoBoxManager infoBoxManager; - - @Mock - @Bind - private PartyService partyService; - - @Mock - @Bind - private OverlayManager overlayManager; - @Before public void before() { diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/slayer/SlayerPluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/slayer/SlayerPluginTest.java index c9ebfba6f5..fcdc75db13 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/slayer/SlayerPluginTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/slayer/SlayerPluginTest.java @@ -52,6 +52,7 @@ import net.runelite.api.events.StatChanged; import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; import net.runelite.client.Notifier; +import net.runelite.client.chat.ChatClient; import net.runelite.client.chat.ChatCommandManager; import net.runelite.client.chat.ChatMessageManager; import net.runelite.client.config.ConfigManager; @@ -59,7 +60,6 @@ import net.runelite.client.game.ItemManager; import net.runelite.client.game.npcoverlay.NpcOverlayService; import net.runelite.client.ui.overlay.OverlayManager; import net.runelite.client.ui.overlay.infobox.InfoBoxManager; -import net.runelite.http.api.chat.ChatClient; import static org.junit.Assert.assertEquals; import org.junit.Before; import org.junit.Test; @@ -142,6 +142,10 @@ public class SlayerPluginTest @Bind SlayerOverlay overlay; + @Mock + @Bind + TargetWeaknessOverlay targetWeaknessOverlay; + @Mock @Bind InfoBoxManager infoBoxManager; diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/specialcounter/SpecialCounterPluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/specialcounter/SpecialCounterPluginTest.java index a8dce5b513..977e379a9a 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/specialcounter/SpecialCounterPluginTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/specialcounter/SpecialCounterPluginTest.java @@ -46,6 +46,7 @@ import net.runelite.client.Notifier; import net.runelite.client.game.ItemManager; import net.runelite.client.ui.overlay.infobox.InfoBoxManager; import net.runelite.client.ws.PartyService; +import net.runelite.client.ws.WSClient; import org.junit.Before; import org.junit.Test; import org.junit.runner.RunWith; @@ -81,6 +82,10 @@ public class SpecialCounterPluginTest @Bind private Notifier notifier; + @Mock + @Bind + private WSClient wsClient; + @Mock @Bind private SpecialCounterConfig specialCounterConfig; diff --git a/runelite-client/src/test/java/net/runelite/client/plugins/xptracker/XpTrackerPluginTest.java b/runelite-client/src/test/java/net/runelite/client/plugins/xptracker/XpTrackerPluginTest.java index 64a1cec8e6..9311385e49 100644 --- a/runelite-client/src/test/java/net/runelite/client/plugins/xptracker/XpTrackerPluginTest.java +++ b/runelite-client/src/test/java/net/runelite/client/plugins/xptracker/XpTrackerPluginTest.java @@ -39,7 +39,6 @@ import net.runelite.client.game.NPCManager; import net.runelite.client.game.SkillIconManager; import net.runelite.client.ui.ClientToolbar; import net.runelite.client.ui.overlay.OverlayManager; -import net.runelite.http.api.xp.XpClient; import static org.junit.Assert.assertEquals; import org.junit.Before; import org.junit.Test;