use of org.jboss.hal.client.bootstrap.BootstrapFailed in project console by hal.
the class EndpointManager method connect.
private void connect(Optional<Endpoint> endpoint) {
String baseUrl = endpoint.map(Endpoint::getUrl).orElse(Endpoints.getBaseUrl());
endpoints.useBase(baseUrl);
String managementEndpoint = baseUrl + MANAGEMENT;
XMLHttpRequest xhr = new XMLHttpRequest();
xhr.onload = event -> {
int status = xhr.status;
switch(status) {
case 0:
case 200:
case 401:
if (keycloakPresentAndValid()) {
callback.execute();
} else {
checkKeycloakAdapter(baseUrl, keycloakServerJsUrl -> {
// if there is a keycloak adapter, call keycloak authentication
authKeycloak(getKeycloakAdapterUrl(baseUrl), keycloakServerJsUrl, callback::execute);
}, () -> {
// if there is no keycloak adapter for wildfly-console, proceed with regular authentication
callback.execute();
});
}
break;
case 403:
Elements.removeChildrenFrom(document.body);
document.body.appendChild(new RbacProviderFailed("Status " + status + " - " + xhr.statusText).element());
break;
case 503:
Elements.removeChildrenFrom(document.body);
document.body.appendChild(new BootstrapFailed("Status " + status + " - " + xhr.statusText, Endpoints.INSTANCE).element());
break;
// break;
default:
logger.info("Unable to serve HAL from '{}'. Please select a management interface.", managementEndpoint);
openDialog();
break;
}
};
xhr.onerror = (event) -> {
Elements.removeChildrenFrom(document.body);
document.body.appendChild(new BootstrapFailed("Failed connecting to a management interface", Endpoints.INSTANCE).element());
return null;
};
xhr.open(GET.name(), managementEndpoint, true);
xhr.withCredentials = true;
xhr.send();
}
Aggregations