From a90a77e1ce12a0f7193533e846c504caea293d21 Mon Sep 17 00:00:00 2001 From: "Dhaval.Rajpara" Date: Fri, 31 Jan 2025 10:54:27 +0530 Subject: [PATCH] RANGER-5109 : addendum patch for Upgrade Swagger-UI to the latest 5.18.2 due to DOMPurify CVE --- docs/src/site/resources/index.js | 41 +++++++++++++++++++++++--------- 1 file changed, 30 insertions(+), 11 deletions(-) diff --git a/docs/src/site/resources/index.js b/docs/src/site/resources/index.js index bb876f28d7..40a3700564 100644 --- a/docs/src/site/resources/index.js +++ b/docs/src/site/resources/index.js @@ -18,6 +18,24 @@ var gatewayUrl; var apiBaseUrl = "/service"; +const rangerLogo = ` + + + + + + + + + + + + + + + + + `; window.onload = function() { const ui = SwaggerUIBundle({ @@ -45,17 +63,18 @@ window.onload = function() { docExpansion: 'none' }) window.ui = ui; - setLogo() - if(document.getElementById("swagger-ui").getElementsByClassName("float-right").length > 0) { - document.getElementById("swagger-ui").getElementsByClassName("float-right")[0].querySelector("a").remove() - } - -} - -function setLogo() { - if( document.getElementById("swagger-ui").getElementsByClassName("topbar-wrapper").length > 0){ - document.getElementById("swagger-ui").getElementsByClassName("topbar-wrapper")[0].getElementsByTagName("img")[0].src = gatewayUrl + "/images/ranger_logo.png"; - } + // Poll the DOM until the Swagger UI logo is rendered, then set the custom logo + const interval = setInterval(() => { + const topbarWrapper = document.getElementById("swagger-ui").querySelector('div.topbar-wrapper > a.link'); // Find the logo element + if (topbarWrapper) { + topbarWrapper.innerHTML = ''; + topbarWrapper.innerHTML= rangerLogo; + if(document.getElementById("swagger-ui").getElementsByClassName("float-right").length > 0) { + document.getElementById("swagger-ui").getElementsByClassName("float-right")[0].querySelector("a").remove() + } + clearInterval(interval); // Stop polling once the logo is set + } + }, 100);// Check every 100ms } function getSwaggerBaseUrl(url) {