Skip to content

Commit 8b98bcb

Browse files
authored
Fix duplicate cache invalidation token (#308)
The cache invalidation token was being added twice to deferred JavaScript files.
1 parent a5062e4 commit 8b98bcb

File tree

3 files changed

+13
-2
lines changed

3 files changed

+13
-2
lines changed

common/src/main/java/com/genexus/CommonUtil.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2597,6 +2597,11 @@ public static boolean isAbsoluteURL(String url)
25972597
return url.startsWith("http://") || url.startsWith("https://") || url.startsWith("ftp://") || url.startsWith("sd:");
25982598
}
25992599

2600+
public static boolean hasUrlQueryString(String url)
2601+
{
2602+
return url.indexOf("?") >= 0;
2603+
}
2604+
26002605
public static String encodeJSON(String in)
26012606
{
26022607
String encoded = JSONObject.quote(in).replaceAll("'", "\\\\u0027");

java/src/main/java/com/genexus/GXutil.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1637,6 +1637,11 @@ public static boolean isAbsoluteURL(String url)
16371637
return CommonUtil.isAbsoluteURL(url);
16381638
}
16391639

1640+
public static boolean hasUrlQueryString(String url)
1641+
{
1642+
return CommonUtil.hasUrlQueryString(url);
1643+
}
1644+
16401645
public static void ErrorToMessages(String errorId, String errorDescription, GXBaseCollection<SdtMessages_Message> messages)
16411646
{
16421647
if (messages != null)

java/src/main/java/com/genexus/internet/HttpContext.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -497,15 +497,16 @@ public void AddStyleSheetFile(String styleSheet)
497497
{
498498
AddStyleSheetFile(styleSheet, "");
499499
}
500+
500501
public void AddStyleSheetFile(String styleSheet, String urlBuildNumber)
501502
{
502503
urlBuildNumber = getURLBuildNumber(styleSheet, urlBuildNumber);
503504
AddStyleSheetFile(styleSheet, urlBuildNumber, false);
504505
}
505506

506-
private String getURLBuildNumber(String styleSheet, String urlBuildNumber)
507+
private String getURLBuildNumber(String resourcePath, String urlBuildNumber)
507508
{
508-
if(urlBuildNumber.isEmpty() && !GXutil.isAbsoluteURL(styleSheet))
509+
if(urlBuildNumber.isEmpty() && !GXutil.isAbsoluteURL(resourcePath) && !GXutil.hasUrlQueryString(resourcePath))
509510
{
510511
return "?" + getCacheInvalidationToken();
511512
}

0 commit comments

Comments
 (0)