From 705a52cb7d126d5a1ceb97227aa10647dd03d43b Mon Sep 17 00:00:00 2001 From: Kavin <20838718+FireMasterK@users.noreply.github.com> Date: Thu, 2 Feb 2023 15:52:51 +0000 Subject: [PATCH] Handle S3 disabled better. --- src/main/java/me/kavin/piped/consts/Constants.java | 1 + .../piped/server/handlers/auth/StorageHandlers.java | 10 ++++++++++ 2 files changed, 11 insertions(+) diff --git a/src/main/java/me/kavin/piped/consts/Constants.java b/src/main/java/me/kavin/piped/consts/Constants.java index 98f8b24..478b99e 100644 --- a/src/main/java/me/kavin/piped/consts/Constants.java +++ b/src/main/java/me/kavin/piped/consts/Constants.java @@ -174,6 +174,7 @@ public class Constants { YOUTUBE_SERVICE.getSupportedCountries().stream().map(ContentCountry::getCountryCode) .map(JsonNodeFactory.instance::textNode).toList() ); + frontendProperties.put("s3Enabled", S3_CLIENT != null); // transform hibernate properties for legacy configurations hibernateProperties.replace("hibernate.dialect", diff --git a/src/main/java/me/kavin/piped/server/handlers/auth/StorageHandlers.java b/src/main/java/me/kavin/piped/server/handlers/auth/StorageHandlers.java index dd7f922..8869cd6 100644 --- a/src/main/java/me/kavin/piped/server/handlers/auth/StorageHandlers.java +++ b/src/main/java/me/kavin/piped/server/handlers/auth/StorageHandlers.java @@ -21,6 +21,9 @@ public class StorageHandlers { public static byte[] statFile(String session, String name) throws Exception { + if (Constants.S3_CLIENT == null) + ExceptionHandler.throwErrorResponse(new SimpleErrorMessage("Storage is not configured on this instance!")); + if (!StringUtils.isAlphanumeric(name) || name.length() > 32) ExceptionHandler.throwErrorResponse(new SimpleErrorMessage("Invalid path provided!")); @@ -56,6 +59,9 @@ public class StorageHandlers { public static byte[] putFile(String session, String name, String etag, byte[] content) throws Exception { + if (Constants.S3_CLIENT == null) + ExceptionHandler.throwErrorResponse(new SimpleErrorMessage("Storage is not configured on this instance!")); + if (!StringUtils.isAlphanumeric(name) || name.length() > 32) ExceptionHandler.throwErrorResponse(new SimpleErrorMessage("Invalid path provided!")); @@ -102,6 +108,10 @@ public class StorageHandlers { } public static byte[] getFile(String session, String name) throws Exception { + + if (Constants.S3_CLIENT == null) + ExceptionHandler.throwErrorResponse(new SimpleErrorMessage("Storage is not configured on this instance!")); + if (!StringUtils.isAlphanumeric(name) || name.length() > 32) ExceptionHandler.throwErrorResponse(new SimpleErrorMessage("Invalid path provided!"));