Merge remote-tracking branch 'runelite/master' into rl-upstream-16072020

# Conflicts:
#	cache/src/main/java/net/runelite/cache/util/XteaKeyManager.java
#	http-api/pom.xml
#	http-api/src/main/java/net/runelite/http/api/account/AccountClient.java
#	http-api/src/main/java/net/runelite/http/api/chat/ChatClient.java
#	http-api/src/main/java/net/runelite/http/api/item/ItemClient.java
#	http-api/src/main/java/net/runelite/http/api/osbuddy/OSBGrandExchangeClient.java
#	http-api/src/main/java/net/runelite/http/api/xtea/XteaClient.java
#	http-service/src/main/java/net/runelite/http/service/hiscore/HiscoreService.java
#	runelite-api/src/main/java/net/runelite/api/Client.java
#	runelite-api/src/main/java/net/runelite/api/EnumID.java
#	runelite-api/src/main/java/net/runelite/api/IndexDataBase.java
#	runelite-api/src/main/java/net/runelite/api/ItemComposition.java
#	runelite-api/src/main/java/net/runelite/api/PlayerComposition.java
#	runelite-api/src/main/java/net/runelite/api/ScriptID.java
#	runelite-api/src/main/java/net/runelite/api/VarbitComposition.java
#	runelite-api/src/main/java/net/runelite/api/events/ActorDeath.java
#	runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java
#	runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java
#	runelite-client/src/main/java/net/runelite/client/ClientSessionManager.java
#	runelite-client/src/main/java/net/runelite/client/RuneLite.java
#	runelite-client/src/main/java/net/runelite/client/RuneLiteModule.java
#	runelite-client/src/main/java/net/runelite/client/RuneLiteProperties.java
#	runelite-client/src/main/java/net/runelite/client/SessionClient.java
#	runelite-client/src/main/java/net/runelite/client/account/SessionManager.java
#	runelite-client/src/main/java/net/runelite/client/config/ConfigManager.java
#	runelite-client/src/main/java/net/runelite/client/externalplugins/ExternalPluginManager.java
#	runelite-client/src/main/java/net/runelite/client/game/ItemManager.java
#	runelite-client/src/main/java/net/runelite/client/game/WorldService.java
#	runelite-client/src/main/java/net/runelite/client/input/KeyListener.java
#	runelite-client/src/main/java/net/runelite/client/plugins/agility/AgilityConfig.java
#	runelite-client/src/main/java/net/runelite/client/plugins/agility/AgilityOverlay.java
#	runelite-client/src/main/java/net/runelite/client/plugins/agility/AgilityPlugin.java
#	runelite-client/src/main/java/net/runelite/client/plugins/agility/Obstacles.java
#	runelite-client/src/main/java/net/runelite/client/plugins/bank/BankPlugin.java
#	runelite-client/src/main/java/net/runelite/client/plugins/banktags/tabs/TabInterface.java
#	runelite-client/src/main/java/net/runelite/client/plugins/chatcommands/ChatCommandsPlugin.java
#	runelite-client/src/main/java/net/runelite/client/plugins/chatfilter/ChatFilterConfig.java
#	runelite-client/src/main/java/net/runelite/client/plugins/chatnotifications/ChatNotificationsConfig.java
#	runelite-client/src/main/java/net/runelite/client/plugins/chatnotifications/ChatNotificationsPlugin.java
#	runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/CrypticClue.java
#	runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/SkillChallengeClue.java
#	runelite-client/src/main/java/net/runelite/client/plugins/config/PluginListItem.java
#	runelite-client/src/main/java/net/runelite/client/plugins/config/PluginListPanel.java
#	runelite-client/src/main/java/net/runelite/client/plugins/devtools/VarInspector.java
#	runelite-client/src/main/java/net/runelite/client/plugins/discord/DiscordGameEventType.java
#	runelite-client/src/main/java/net/runelite/client/plugins/discord/DiscordPlugin.java
#	runelite-client/src/main/java/net/runelite/client/plugins/examine/ExaminePlugin.java
#	runelite-client/src/main/java/net/runelite/client/plugins/experiencedrop/XpDropPlugin.java
#	runelite-client/src/main/java/net/runelite/client/plugins/feed/FeedPanel.java
#	runelite-client/src/main/java/net/runelite/client/plugins/feed/FeedPlugin.java
#	runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangeItemPanel.java
#	runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangeOfferSlot.java
#	runelite-client/src/main/java/net/runelite/client/plugins/grandexchange/GrandExchangePlugin.java
#	runelite-client/src/main/java/net/runelite/client/plugins/grounditems/GroundItemsPlugin.java
#	runelite-client/src/main/java/net/runelite/client/plugins/hiscore/HiscorePanel.java
#	runelite-client/src/main/java/net/runelite/client/plugins/itemcharges/ItemChargeConfig.java
#	runelite-client/src/main/java/net/runelite/client/plugins/itemprices/ItemPricesOverlay.java
#	runelite-client/src/main/java/net/runelite/client/plugins/keyremapping/KeyRemappingListener.java
#	runelite-client/src/main/java/net/runelite/client/plugins/loginscreen/LoginScreenPlugin.java
#	runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerConfig.java
#	runelite-client/src/main/java/net/runelite/client/plugins/loottracker/LootTrackerPlugin.java
#	runelite-client/src/main/java/net/runelite/client/plugins/npchighlight/NpcIndicatorsConfig.java
#	runelite-client/src/main/java/net/runelite/client/plugins/npchighlight/NpcIndicatorsPlugin.java
#	runelite-client/src/main/java/net/runelite/client/plugins/raids/Raid.java
#	runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidRoom.java
#	runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsConfig.java
#	runelite-client/src/main/java/net/runelite/client/plugins/raids/RaidsPlugin.java
#	runelite-client/src/main/java/net/runelite/client/plugins/raids/RoomType.java
#	runelite-client/src/main/java/net/runelite/client/plugins/randomevents/RandomEventConfig.java
#	runelite-client/src/main/java/net/runelite/client/plugins/randomevents/RandomEventPlugin.java
#	runelite-client/src/main/java/net/runelite/client/plugins/screenshot/ScreenshotPlugin.java
#	runelite-client/src/main/java/net/runelite/client/plugins/slayer/SlayerPlugin.java
#	runelite-client/src/main/java/net/runelite/client/plugins/timers/TimersPlugin.java
#	runelite-client/src/main/java/net/runelite/client/plugins/wiki/WikiSearchChatboxTextInput.java
#	runelite-client/src/main/java/net/runelite/client/plugins/worldmap/MinigameLocation.java
#	runelite-client/src/main/java/net/runelite/client/plugins/worldmap/MiningSiteLocation.java
#	runelite-client/src/main/java/net/runelite/client/plugins/worldmap/TeleportLocationData.java
#	runelite-client/src/main/java/net/runelite/client/plugins/worldmap/TransportationPointLocation.java
#	runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java
#	runelite-client/src/main/java/net/runelite/client/plugins/xpupdater/XpUpdaterPlugin.java
#	runelite-client/src/main/java/net/runelite/client/plugins/xtea/XteaPlugin.java
#	runelite-client/src/main/java/net/runelite/client/rs/ClientConfigLoader.java
#	runelite-client/src/main/java/net/runelite/client/rs/ClientLoader.java
#	runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_fletching.json
#	runelite-client/src/test/java/net/runelite/client/plugins/PluginManagerTest.java
#	runelite-client/src/test/java/net/runelite/client/plugins/bank/BankPluginTest.java
#	runelite-client/src/test/java/net/runelite/client/plugins/chatcommands/ChatCommandsPluginTest.java
#	runelite-client/src/test/java/net/runelite/client/plugins/examine/ExaminePluginTest.java
#	runelite-client/src/test/java/net/runelite/client/plugins/grandexchange/GrandExchangePluginTest.java
#	runelite-client/src/test/java/net/runelite/client/plugins/hiscore/HiscorePanelTest.java
#	runelite-client/src/test/java/net/runelite/client/plugins/keyremapping/KeyRemappingListenerTest.java
#	runelite-client/src/test/java/net/runelite/client/plugins/loottracker/LootTrackerPluginTest.java
#	runelite-client/src/test/java/net/runelite/client/plugins/npchighlight/NpcIndicatorsPluginTest.java
#	runelite-client/src/test/java/net/runelite/client/plugins/raids/RaidsPluginTest.java
#	runelite-client/src/test/java/net/runelite/client/plugins/slayer/SlayerPluginTest.java
#	runelite-client/src/test/java/net/runelite/client/plugins/xptracker/XpTrackerPluginTest.java
#	runelite-client/src/test/java/net/runelite/client/rs/ClientConfigLoaderTest.java
#	runelite-client/src/test/java/net/runelite/client/ui/overlay/infobox/InfoBoxManagerTest.java
This commit is contained in:
ThatGamerBlue
2020-07-16 17:50:30 +01:00
65 changed files with 549 additions and 311 deletions

View File

@@ -30,7 +30,6 @@ description = "Web API"
dependencies {
annotationProcessor(group = "org.projectlombok", name = "lombok", version = "1.18.12")
compileOnly(group = "javax.inject", name = "javax.inject", version = "1")
compileOnly(group = "org.projectlombok", name = "lombok", version = "1.18.12")
implementation(group = "com.google.code.gson", name = "gson", version = "2.8.6")

View File

@@ -30,24 +30,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;
}
@@ -60,13 +58,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);
@@ -84,16 +82,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");
}
}
@@ -104,8 +102,8 @@ public class AccountClient
.addPathSegment("session-check")
.build();
logger.debug("Built URI: {}", url);
log.debug("Built URI: {}", url);
return Observable.fromCallable(() ->
{
Request request = new Request.Builder()
@@ -113,13 +111,13 @@ public class AccountClient
.url(url)
.build();
try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute())
try (Response response = client.newCall(request).execute())
{
return response.isSuccessful();
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
}
});

View File

@@ -28,16 +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 static final RequestBody body = RequestBody.Companion.create(new byte[0], null);
private final OkHttpClient client;
public boolean submitKc(String username, String boss, int kc) throws IOException
{
@@ -49,13 +52,12 @@ public class ChatClient
.addQueryParameter("kc", Integer.toString(kc))
.build();
Request request = new Request.Builder()
.post(RequestBody.create(null, new byte[0]))
.url(url)
.build();
try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute())
try (Response response = client.newCall(request).execute())
{
return response.isSuccessful();
}
@@ -74,7 +76,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())
{
@@ -98,7 +100,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();
}
@@ -116,7 +118,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())
{
@@ -143,7 +145,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();
}
@@ -161,7 +163,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())
{
@@ -192,7 +194,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();
}
@@ -211,7 +213,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())
{
@@ -235,7 +237,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();
}
@@ -253,7 +255,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())
{
@@ -280,7 +282,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();
}
@@ -299,7 +301,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())
{
@@ -328,7 +330,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();
}
@@ -346,7 +348,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())
{

View File

@@ -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);
}
});

View File

@@ -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,7 +68,7 @@ public class ExamineClient
.addPathSegment(Integer.toString(id))
.build();
logger.debug("Built URI: {}", url);
log.debug("Built URI: {}", url);
RequestBody body = RequestBody.Companion.create(text, TEXT);
Request request = new Request.Builder()
@@ -73,19 +76,19 @@ public class ExamineClient
.post(body)
.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);
}
});
}

View File

@@ -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;
}

View File

@@ -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
@@ -70,7 +75,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)

View File

@@ -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())
{

View File

@@ -34,28 +34,21 @@ import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Arrays;
import javax.imageio.ImageIO;
import javax.inject.Inject;
import javax.naming.directory.SearchResult;
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 lookupItemPrice(int itemId) throws IOException
{
HttpUrl url = RuneLiteAPI.getApiBase().newBuilder()
@@ -64,7 +57,7 @@ public class ItemClient
.addPathSegment("price")
.build();
logger.debug("Built URI: {}", url);
log.debug("Built URI: {}", url);
Request request = new Request.Builder()
.url(url)
@@ -74,7 +67,7 @@ public class ItemClient
{
if (!response.isSuccessful())
{
logger.debug("Error looking up item {}: {}", itemId, response);
log.debug("Error looking up item {}: {}", itemId, response);
return null;
}
@@ -100,7 +93,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)
@@ -110,7 +103,7 @@ public class ItemClient
{
if (!response.isSuccessful())
{
logger.debug("Error looking up items {}: {}", Arrays.toString(itemIds), response);
log.debug("Error looking up items {}: {}", Arrays.toString(itemIds), response);
return null;
}
@@ -131,7 +124,7 @@ public class ItemClient
.addPathSegment("icon")
.build();
logger.debug("Built URI: {}", url);
log.debug("Built URI: {}", url);
Request request = new Request.Builder()
.url(url)
@@ -143,7 +136,7 @@ public class ItemClient
{
if (!response.isSuccessful())
{
logger.debug("Error grabbing icon {}: {}", itemId, response);
log.debug("Error grabbing icon {}: {}", itemId, response);
return Observable.just(null);
}
@@ -164,7 +157,7 @@ public class ItemClient
.addQueryParameter("query", itemName)
.build();
logger.debug("Built URI: {}", url);
log.debug("Built URI: {}", url);
return Observable.defer(() ->
{
@@ -176,7 +169,7 @@ public class ItemClient
{
if (!response.isSuccessful())
{
logger.debug("Error looking up item {}: {}", itemName, response);
log.debug("Error looking up item {}: {}", itemName, response);
return Observable.just(null);
}
@@ -198,7 +191,7 @@ public class ItemClient
HttpUrl url = urlBuilder.build();
logger.debug("Built URI: {}", url);
log.debug("Built URI: {}", url);
return Observable.fromCallable(() ->
{
@@ -235,7 +228,7 @@ public class ItemClient
.addPathSegment("stats.ids.min.json")
.build();
logger.debug("Built URI {}", url);
log.debug("Built URI {}", url);
return Observable.fromCallable(() ->
{
Request request = new Request.Builder()

View File

@@ -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<Void> submit(Collection<LootRecord> lootRecords)
@@ -68,7 +70,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)
@@ -100,7 +102,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())
{
@@ -133,7 +135,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)

View File

@@ -29,15 +29,20 @@ import io.reactivex.rxjava3.core.Observable;
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 Observable<OSBGrandExchangeResult> lookupItem(int itemId)
{
final HttpUrl url = RuneLiteAPI.getApiBase().newBuilder()
@@ -50,23 +55,23 @@ public class OSBGrandExchangeClient
return Observable.defer(() ->
{
Request request = new Request.Builder()
final Request request = new Request.Builder()
.url(url)
.build();
try (final Response response = RuneLiteAPI.CLIENT.newCall(request).execute())
try (final Response response = client.newCall(request).execute())
{
if (!response.isSuccessful())
{
return Observable.error(new IOException("Error looking up item id: " + response));
}
final InputStream in = response.body().byteStream();
return Observable.just(RuneLiteAPI.GSON.fromJson(new InputStreamReader(in), OSBGrandExchangeResult.class));
}
catch (JsonParseException e)
catch (JsonParseException ex)
{
return Observable.error(e);
return Observable.error(ex);
}
});
}

View File

@@ -29,35 +29,28 @@ 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.CacheControl;
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)
@@ -68,7 +61,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");
}

View File

@@ -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);
}
});
}

View File

@@ -30,18 +30,21 @@ import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.HashMap;
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.OkHttpClient;
import okhttp3.Request;
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(int region, int[] keys)
{
@@ -55,16 +58,18 @@ public class XteaClient
.addQueryParameter("key4", String.valueOf(keys[3]))
.build();
log.debug("Built URI: {}", url);
Request request = new Request.Builder()
.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
@@ -74,7 +79,7 @@ public class XteaClient
{
if (!response.isSuccessful())
{
logger.debug("unsuccessful xtea response");
log.debug("unsuccessful xtea response");
}
}
finally
@@ -95,7 +100,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