You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by th...@apache.org on 2026/04/18 15:47:27 UTC
(tapestry-5) branch javax updated: TAP5-2810: little tweaks around ES shims
This is an automated email from the ASF dual-hosted git repository.
thiagohp pushed a commit to branch javax
in repository https://gitbox.apache.org/repos/asf/tapestry-5.git
The following commit(s) were added to refs/heads/javax by this push:
new aabbc49ac TAP5-2810: little tweaks around ES shims
aabbc49ac is described below
commit aabbc49ac4b852753fdf51b9dda0f8776c71ea46
Author: Thiago H. de Paula Figueiredo <th...@arsmachina.com.br>
AuthorDate: Sat Apr 18 12:40:41 2026 -0300
TAP5-2810: little tweaks around ES shims
---
.../internal/services/ajax/EsShimManagerImpl.java | 15 +++++++++++++--
.../internal/services/javascript/EsShimDispatcher.java | 9 +++++++--
2 files changed, 20 insertions(+), 4 deletions(-)
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ajax/EsShimManagerImpl.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ajax/EsShimManagerImpl.java
index f8a8c0dd8..1c6e87017 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ajax/EsShimManagerImpl.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ajax/EsShimManagerImpl.java
@@ -31,6 +31,10 @@ public class EsShimManagerImpl implements EsShimManager
private final String assetPrefix;
+ private final String compressedRequestPrefix;
+
+ private final String uncompressedRequestPrefix;
+
public EsShimManagerImpl(Map<String, Resource> shims,
PathConstructor pathConstructor,
@Symbol(SymbolConstants.ASSET_PATH_PREFIX)
@@ -40,6 +44,8 @@ public class EsShimManagerImpl implements EsShimManager
this.shims = shims;
this.assetPrefix = assetPrefix;
this.pathConstructor = pathConstructor;
+ this.compressedRequestPrefix = getRequestPrefixUncached(true);
+ this.uncompressedRequestPrefix = getRequestPrefixUncached(false);
}
/**
@@ -53,9 +59,14 @@ public class EsShimManagerImpl implements EsShimManager
}
@Override
- public String getRequestPrefix(boolean compress)
+ public String getRequestPrefix(boolean compress)
+ {
+ return compress ? compressedRequestPrefix : uncompressedRequestPrefix;
+ }
+
+ public String getRequestPrefixUncached(boolean compress)
{
- return pathConstructor.constructDispatchPath(assetPrefix + "/" + (compress ? ES_SUBPATH + ".gz" : ES_SUBPATH) + "/");
+ return pathConstructor.constructDispatchPath(assetPrefix, (compress ? ES_SUBPATH + ".gz" : ES_SUBPATH)) + "/";
}
@Override
diff --git a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/EsShimDispatcher.java b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/EsShimDispatcher.java
index ad8859a8f..d281f7694 100644
--- a/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/EsShimDispatcher.java
+++ b/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/EsShimDispatcher.java
@@ -51,6 +51,8 @@ public class EsShimDispatcher implements Dispatcher
private final boolean compress;
+ private final int requestPrefixLength;
+
private Map<String, StreamableResource> shimMap;
public EsShimDispatcher(EsShimManager esShimManager,
@@ -81,15 +83,18 @@ public class EsShimDispatcher implements Dispatcher
}
requestPrefix = esShimManager.getRequestPrefix(compress);
+ requestPrefixLength = requestPrefix.length();
}
public boolean dispatch(Request request, Response response) throws IOException
{
String path = request.getPath();
+
+ int index = path.indexOf(requestPrefix);
- if (path.startsWith(requestPrefix))
+ if (index >= 0)
{
- String extraPath = path.substring(requestPrefix.length());
+ String extraPath = path.substring(index + requestPrefixLength);
if (!handleModuleRequest(extraPath, response))
{