From 828a0ed5947f683924edb3a05d7a833ee78fedc4 Mon Sep 17 00:00:00 2001 From: Darin Kelkhoff Date: Fri, 23 May 2025 16:21:08 -0500 Subject: [PATCH] add method getVersionBasePath() add method preExecute() --- .../specs/AbstractMiddlewareVersion.java | 26 +++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/qqq-middleware-javalin/src/main/java/com/kingsrook/qqq/middleware/javalin/specs/AbstractMiddlewareVersion.java b/qqq-middleware-javalin/src/main/java/com/kingsrook/qqq/middleware/javalin/specs/AbstractMiddlewareVersion.java index d922ab33..6351d644 100644 --- a/qqq-middleware-javalin/src/main/java/com/kingsrook/qqq/middleware/javalin/specs/AbstractMiddlewareVersion.java +++ b/qqq-middleware-javalin/src/main/java/com/kingsrook/qqq/middleware/javalin/specs/AbstractMiddlewareVersion.java @@ -49,6 +49,7 @@ import com.kingsrook.qqq.openapi.model.SecurityScheme; import com.kingsrook.qqq.openapi.model.SecuritySchemeType; import com.kingsrook.qqq.openapi.model.Type; import io.javalin.apibuilder.EndpointGroup; +import io.javalin.http.Context; /******************************************************************************* @@ -82,12 +83,21 @@ public abstract class AbstractMiddlewareVersion { for(AbstractEndpointSpec spec : CollectionUtils.nonNullList(getEndpointSpecs())) { - spec.defineRoute("/" + getVersion() + "/"); + spec.defineRoute(this, getVersionBasePath()); } }); } + /*************************************************************************** + ** + ***************************************************************************/ + public String getVersionBasePath() + { + return ("/" + getVersion() + "/"); + } + + /*************************************************************************** ** For initial setup when server boots, set the qInstance - but also, @@ -123,7 +133,7 @@ public abstract class AbstractMiddlewareVersion for(AbstractEndpointSpec spec : list) { CompleteOperation completeOperation = spec.defineCompleteOperation(); - String fullPath = ("/" + basePath + "/" + getVersion() + "/" + completeOperation.getPath()).replaceAll("/+", "/"); + String fullPath = ("/" + basePath + getVersionBasePath() + completeOperation.getPath()).replaceAll("/+", "/"); Path path = paths.computeIfAbsent(fullPath, (k) -> new Path()); Method method = completeOperation.getMethod(); @@ -358,4 +368,16 @@ public abstract class AbstractMiddlewareVersion LOG.warn("More than one endpoint spec for version " + getVersion() + " defined a " + completeOperation.getHttpMethod() + " at path: " + completeOperation.getPath() + ". The last one encountered (from " + spec.getClass().getSimpleName() + ") will be used."); } } + + + + /*************************************************************************** + ** + ***************************************************************************/ + public void preExecute(Context context) + { + ///////////////////// + // noop at default // + ///////////////////// + } }