From 701e641fd57177d0693769fb583213731e677793 Mon Sep 17 00:00:00 2001 From: Seth Date: Thu, 1 Mar 2018 20:52:22 -0600 Subject: [PATCH] item client: add getIcon method --- .../runelite/http/api/item/ItemClient.java | 30 +++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/http-api/src/main/java/net/runelite/http/api/item/ItemClient.java b/http-api/src/main/java/net/runelite/http/api/item/ItemClient.java index f8c8ab2b5a..73bf93fbd3 100644 --- a/http-api/src/main/java/net/runelite/http/api/item/ItemClient.java +++ b/http-api/src/main/java/net/runelite/http/api/item/ItemClient.java @@ -25,9 +25,11 @@ package net.runelite.http.api.item; import com.google.gson.JsonParseException; +import java.awt.image.BufferedImage; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; +import javax.imageio.ImageIO; import net.runelite.http.api.RuneLiteAPI; import okhttp3.HttpUrl; import okhttp3.Request; @@ -70,6 +72,34 @@ public class ItemClient } } + public BufferedImage getIcon(int itemId) throws IOException + { + HttpUrl url = RuneLiteAPI.getApiBase().newBuilder() + .addPathSegment("item") + .addPathSegment("" + itemId) + .addPathSegment("icon") + .build(); + + logger.debug("Built URI: {}", url); + + Request request = new Request.Builder() + .url(url) + .build(); + + try (Response response = RuneLiteAPI.CLIENT.newCall(request).execute()) + { + if (!response.isSuccessful()) + { + logger.debug("Error grabbing icon {}: {}", itemId, response.message()); + return null; + } + + InputStream in = response.body().byteStream(); + BufferedImage imageIcon = ImageIO.read(in); + return imageIcon; + } + } + public SearchResult search(String itemName) throws IOException { HttpUrl url = RuneLiteAPI.getApiBase().newBuilder()