diff --git a/src/main/java/dev/plex/cache/CacheItem.java b/src/main/java/dev/plex/cache/CacheItem.java index 6acba9a..c847e94 100644 --- a/src/main/java/dev/plex/cache/CacheItem.java +++ b/src/main/java/dev/plex/cache/CacheItem.java @@ -13,7 +13,7 @@ public class CacheItem public CacheItem(File f) throws IOException { this.path = f.getPath(); - this.file = Files.readAllBytes(f.toPath()); + this.file = f.length() >= 1048576 ? null : Files.readAllBytes(f.toPath()); this.timestamp = System.currentTimeMillis(); } } diff --git a/src/main/java/dev/plex/cache/FileCache.java b/src/main/java/dev/plex/cache/FileCache.java index ad8f3b9..2ff9e08 100644 --- a/src/main/java/dev/plex/cache/FileCache.java +++ b/src/main/java/dev/plex/cache/FileCache.java @@ -21,13 +21,13 @@ public class FileCache if (theItem == null) { theItem = new CacheItem(new File(path)); - if (theItem.file.length < 1048576) cache.add(theItem); + if (theItem.file != null) cache.add(theItem); } if (System.currentTimeMillis() - theItem.timestamp > 3 * 60 * 1000) // 3 minutes { cache.remove(theItem); theItem = new CacheItem(new File(path)); - if (theItem.file.length < 1048576) cache.add(theItem); + if (theItem.file != null) cache.add(theItem); } return theItem.file; } diff --git a/src/main/java/dev/plex/request/impl/SchematicEndpoint.java b/src/main/java/dev/plex/request/impl/SchematicEndpoint.java index 7249462..3bc4468 100644 --- a/src/main/java/dev/plex/request/impl/SchematicEndpoint.java +++ b/src/main/java/dev/plex/request/impl/SchematicEndpoint.java @@ -67,7 +67,8 @@ public class SchematicEndpoint extends AbstractServlet { try { - outputStream.write(HTTPDModule.fileCache.getFile(schemFile)); + byte[] schemData = HTTPDModule.fileCache.getFile(schemFile); + if (schemData != null) outputStream.write(schemData); } catch (IOException ignored) {