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 e18611a..d03246e 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 28108a9..89194da 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