summaryrefslogtreecommitdiff
path: root/src/main/java/net/tylermurphy/ken/util/ImageFetcher.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/net/tylermurphy/ken/util/ImageFetcher.java')
-rw-r--r--src/main/java/net/tylermurphy/ken/util/ImageFetcher.java19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/main/java/net/tylermurphy/ken/util/ImageFetcher.java b/src/main/java/net/tylermurphy/ken/util/ImageFetcher.java
index d3bddbc..686eb7e 100644
--- a/src/main/java/net/tylermurphy/ken/util/ImageFetcher.java
+++ b/src/main/java/net/tylermurphy/ken/util/ImageFetcher.java
@@ -1,8 +1,11 @@
package net.tylermurphy.ken.util;
+import net.tylermurphy.ken.Ken;
+
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.IOException;
+import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.HashMap;
@@ -12,7 +15,21 @@ public class ImageFetcher {
private final Map<String,BufferedImage> CACHE = new HashMap<>();
- public BufferedImage getImage(String url, boolean cache) throws IOException {
+ public BufferedImage getCdnImage(String name, boolean cache) throws IOException {
+ if(Ken.getInstance().getConfig().getBoolean("fetchLocal")) {
+ if(CACHE.containsKey(name)) return CACHE.get(name);
+ InputStream in = Ken.getInstance().getResource("cdn/"+name);
+ if(in == null) return null;
+ BufferedImage image = ImageIO.read(in);
+ if(cache && image != null) CACHE.put(name, image);
+ return image;
+ } else {
+ String url = Ken.getInstance().getConfig().getString("cdn") + name;
+ return getRawImage(url, cache);
+ }
+ }
+
+ public BufferedImage getRawImage(String url, boolean cache) throws IOException {
if(CACHE.containsKey(url)) return CACHE.get(url);
HttpURLConnection connection = getConnection(url);
BufferedImage image = ImageIO.read(connection.getInputStream());