in src/main/js/routes/layout/layout.js [186:209]
export async function loader({request}) {
const url = new URL(request.url);
const configHost = url.searchParams.get("config_host");
const vespaState = getVespaState(configHost)
.then(vespaState => {
vespaState
.container
.clusters
.forEach(cluster => {
const containerName = cluster.name;
// either use the route from the url or the first node in the cluster
if (url.searchParams.has(routingSearchParamName(containerName))) {
cluster.route = url.searchParams.get(routingSearchParamName(containerName))
} else {
const nodeHost = cluster.nodes[0].host
cluster.route = 'http://' + nodeHost.hostname + ":" + nodeHost.port
}
})
return vespaState
});
return defer({
vespaState: vespaState
});
}