diff --git a/server.ts b/server.ts
index 89428f9bd3..2f66c78d86 100644
--- a/server.ts
+++ b/server.ts
@@ -309,13 +309,24 @@ function serverSideRender(req, res, next, sendToUser: boolean = true) {
});
}
-/**
- * Send back response to user to trigger direct client-side rendering (CSR)
- * @param req current request
- * @param res current response
- */
+// Read file once at startup
+const indexHtmlContent = readFileSync(indexHtml, 'utf8');
+
function clientSideRender(req, res) {
- res.sendFile(indexHtml);
+ const namespace = environment.ui.nameSpace || '/';
+ let html = indexHtmlContent;
+ // Replace base href dynamically
+ html = html.replace(
+ //,
+ ``
+ );
+
+ // Replace REST URL with UI URL
+ if (environment.ssr.replaceRestUrl && REST_BASE_URL !== environment.rest.baseUrl) {
+ html = html.replace(new RegExp(REST_BASE_URL, 'g'), environment.rest.baseUrl);
+ }
+
+ res.send(html);
}