Not able to use slingRequest.getURL() in sightly
I want to use the current page's browser url (not the page path) in sightly. I am not able to use location.href in server-side javascript as it is not supported.
Previously in jsp we could use the request url after including global.jsp as
<%
StringBuffer test = slingRequest.getRequestURL();
%>
<c:set var="test" value="<%=test%>"/>
It is mentioned that request object is implicitly available in sightly -- https://docs.adobe.com/docs/en/htl/docs/global-objects.html?wcmmode=disabled
But using ${request.URL} ,${request.getRequestURL} returns nothing. However; ${request.toString} returns org.apache.sling.scripting.core.impl.helper.OnDemandReaderRequest@25fbcebf object.
Right now I am using the url using serverside javascript as --
<div data-sly-use.browserUrl="pageUrl.js">
<a href = "${browserUrl.url}">url</a>
</div>
In pageUrl.js --
"use strict";
use(function () {
var browserUrl = {};
browserUrl.url = request.getRequestURL();
return browserUrl;
});
Why is request object's getRequestURL not accessible in sightly while it is in jsp? And is there a cleaner way to include current page's url in sightly , without using serverside javascript ?