From e3bd0d2c05ea98294eb7adbebf25d8d35c1464c8 Mon Sep 17 00:00:00 2001 From: "Kevin S. Clarke" Date: Wed, 22 Jul 2026 19:31:56 -0400 Subject: [PATCH] [DLSR-479] Fix static image file matching --- .../fester/verticles/AbstractFesterVerticle.java | 15 +++++++++++++++ .../iiif/fester/verticles/V2ManifestVerticle.java | 3 ++- .../iiif/fester/verticles/V3ManifestVerticle.java | 3 ++- 3 files changed, 19 insertions(+), 2 deletions(-) diff --git a/src/main/java/edu/ucla/library/iiif/fester/verticles/AbstractFesterVerticle.java b/src/main/java/edu/ucla/library/iiif/fester/verticles/AbstractFesterVerticle.java index e18611ae..d03246e1 100644 --- a/src/main/java/edu/ucla/library/iiif/fester/verticles/AbstractFesterVerticle.java +++ b/src/main/java/edu/ucla/library/iiif/fester/verticles/AbstractFesterVerticle.java @@ -1,6 +1,9 @@ package edu.ucla.library.iiif.fester.verticles; +import java.util.Set; + +import info.freelibrary.util.FileUtils; import info.freelibrary.util.Logger; import info.freelibrary.util.LoggerFactory; @@ -25,6 +28,8 @@ public abstract class AbstractFesterVerticle extends AbstractVerticle { private static final Logger LOGGER = LoggerFactory.getLogger(AbstractFesterVerticle.class, Constants.MESSAGES); + private static final Set WEB_IMAGE_EXTENSIONS = Set.of("jpg", "jpeg", "png", "gif", "webp", "svg"); + @Override public void start() throws Exception { LOGGER.debug(MessageCodes.MFS_110, getClass().getName(), deploymentID()); @@ -112,4 +117,14 @@ protected void error(final Message aMessage, final Throwable aThrowa aMessage.fail(HTTP.INTERNAL_SERVER_ERROR, log); } } + + /** + * Checks whether the supplied URI ends with a known/supported image extension. + * + * @param aURI A URI to check + * @return True is the static image file extension is found; else, false + */ + protected boolean isStaticFile(final String aURI) { + return WEB_IMAGE_EXTENSIONS.contains(FileUtils.getExt(aURI)); // Returns EMPTY if none, which won't match + } } diff --git a/src/main/java/edu/ucla/library/iiif/fester/verticles/V2ManifestVerticle.java b/src/main/java/edu/ucla/library/iiif/fester/verticles/V2ManifestVerticle.java index 28108a90..89194da3 100644 --- a/src/main/java/edu/ucla/library/iiif/fester/verticles/V2ManifestVerticle.java +++ b/src/main/java/edu/ucla/library/iiif/fester/verticles/V2ManifestVerticle.java @@ -514,7 +514,8 @@ private Canvas[] createCanvases(final CsvHeaders aCsvHeaders, final List