diff --git a/src/main/java/org/qortal/api/HTMLParser.java b/src/main/java/org/qortal/api/HTMLParser.java
index a80b0b1e..8b2d1116 100644
--- a/src/main/java/org/qortal/api/HTMLParser.java
+++ b/src/main/java/org/qortal/api/HTMLParser.java
@@ -12,11 +12,13 @@ public class HTMLParser {
private String linkPrefix;
private byte[] data;
+ private String qdnContext;
- public HTMLParser(String resourceId, String inPath, String prefix, boolean usePrefix, byte[] data) {
+ public HTMLParser(String resourceId, String inPath, String prefix, boolean usePrefix, byte[] data, String qdnContext) {
String inPathWithoutFilename = inPath.substring(0, inPath.lastIndexOf('/'));
this.linkPrefix = usePrefix ? String.format("%s/%s%s", prefix, resourceId, inPathWithoutFilename) : "";
this.data = data;
+ this.qdnContext = qdnContext;
}
public void addAdditionalHeaderTags() {
@@ -29,6 +31,10 @@ public class HTMLParser {
String qAppsScriptElement = String.format("", this.qdnContext);
+ head.get(0).prepend(qdnContextVar);
+
// Add base href tag
String baseElement = String.format("", baseUrl);
head.get(0).prepend(baseElement);
diff --git a/src/main/java/org/qortal/api/domainmap/resource/DomainMapResource.java b/src/main/java/org/qortal/api/domainmap/resource/DomainMapResource.java
index cc21587d..31d216dc 100644
--- a/src/main/java/org/qortal/api/domainmap/resource/DomainMapResource.java
+++ b/src/main/java/org/qortal/api/domainmap/resource/DomainMapResource.java
@@ -51,7 +51,7 @@ public class DomainMapResource {
String secret58, String prefix, boolean usePrefix, boolean async) {
ArbitraryDataRenderer renderer = new ArbitraryDataRenderer(resourceId, resourceIdType, service, inPath,
- secret58, prefix, usePrefix, async, request, response, context);
+ secret58, prefix, usePrefix, async, "domainMap", request, response, context);
return renderer.render();
}
diff --git a/src/main/java/org/qortal/api/gateway/resource/GatewayResource.java b/src/main/java/org/qortal/api/gateway/resource/GatewayResource.java
index a73de1fb..07e1cfb4 100644
--- a/src/main/java/org/qortal/api/gateway/resource/GatewayResource.java
+++ b/src/main/java/org/qortal/api/gateway/resource/GatewayResource.java
@@ -119,7 +119,7 @@ public class GatewayResource {
String secret58, String prefix, boolean usePrefix, boolean async) {
ArbitraryDataRenderer renderer = new ArbitraryDataRenderer(resourceId, resourceIdType, service, inPath,
- secret58, prefix, usePrefix, async, request, response, context);
+ secret58, prefix, usePrefix, async, "gateway", request, response, context);
return renderer.render();
}
diff --git a/src/main/java/org/qortal/api/resource/RenderResource.java b/src/main/java/org/qortal/api/resource/RenderResource.java
index fa05a655..f4a4a750 100644
--- a/src/main/java/org/qortal/api/resource/RenderResource.java
+++ b/src/main/java/org/qortal/api/resource/RenderResource.java
@@ -216,7 +216,7 @@ public class RenderResource {
String secret58, String prefix, boolean usePrefix, boolean async, String theme) {
ArbitraryDataRenderer renderer = new ArbitraryDataRenderer(resourceId, resourceIdType, service, inPath,
- secret58, prefix, usePrefix, async, request, response, context);
+ secret58, prefix, usePrefix, async, "render", request, response, context);
if (theme != null) {
renderer.setTheme(theme);
diff --git a/src/main/java/org/qortal/arbitrary/ArbitraryDataRenderer.java b/src/main/java/org/qortal/arbitrary/ArbitraryDataRenderer.java
index 847f2aa8..4b804f51 100644
--- a/src/main/java/org/qortal/arbitrary/ArbitraryDataRenderer.java
+++ b/src/main/java/org/qortal/arbitrary/ArbitraryDataRenderer.java
@@ -40,12 +40,13 @@ public class ArbitraryDataRenderer {
private final String prefix;
private final boolean usePrefix;
private final boolean async;
+ private final String qdnContext;
private final HttpServletRequest request;
private final HttpServletResponse response;
private final ServletContext context;
public ArbitraryDataRenderer(String resourceId, ResourceIdType resourceIdType, Service service, String inPath,
- String secret58, String prefix, boolean usePrefix, boolean async,
+ String secret58, String prefix, boolean usePrefix, boolean async, String qdnContext,
HttpServletRequest request, HttpServletResponse response, ServletContext context) {
this.resourceId = resourceId;
@@ -56,6 +57,7 @@ public class ArbitraryDataRenderer {
this.prefix = prefix;
this.usePrefix = usePrefix;
this.async = async;
+ this.qdnContext = qdnContext;
this.request = request;
this.response = response;
this.context = context;
@@ -118,7 +120,7 @@ public class ArbitraryDataRenderer {
if (HTMLParser.isHtmlFile(filename)) {
// HTML file - needs to be parsed
byte[] data = Files.readAllBytes(Paths.get(filePath)); // TODO: limit file size that can be read into memory
- HTMLParser htmlParser = new HTMLParser(resourceId, inPath, prefix, usePrefix, data);
+ HTMLParser htmlParser = new HTMLParser(resourceId, inPath, prefix, usePrefix, data, qdnContext);
htmlParser.addAdditionalHeaderTags();
response.addHeader("Content-Security-Policy", "default-src 'self' 'unsafe-inline' 'unsafe-eval'; media-src 'self' blob:; img-src 'self' data: blob:;");
response.setContentType(context.getMimeType(filename));