in ui-modules/utils/server-status/server-status.js [58:110]
function updateState(response, error = false) {
let state = BrServerStatusModalController.STATES.OK;
let stateData = null;
if (error) {
stateData = response.data;
if (stateData && stateData.SESSION_AGE_EXCEEDED) {
state = BrServerStatusModalController.STATES.SESSION_AGE_EXCEEDED;
} else if (stateData && stateData.SESSION_INVALIDATED) {
state = BrServerStatusModalController.STATES.SESSION_INVALIDATED;
}else if(response.status === 404) {
state = BrServerStatusModalController.STATES.NO_CONNECTION;
}else if(response.status === 401 || response.status === 403 ) {
if( response.headers(LOGIN_PAGE_HEADER)) {
$window.location.href = '/' + response.headers(LOGIN_PAGE_HEADER);
}
state = BrServerStatusModalController.STATES.USER_NOT_AUTHORIZED;
}else {
if (previousState === null || previousState == BrServerStatusModalController.STATES.OK){
state = BrServerStatusModalController.STATES.OTHER_ERROR;
} else {
// we're now getting a new server error, possibly because the old error has expired
// but changing the message for the user would be confusing so don't do that!
// eg we get a 405 after a 307 (which the browser handles automatically) if redirected to Google for login
$log.info("Server responded \"" + stateData + "\" after previous problem \"" + previousState + "\"");
// no update
state = previousState;
}
}
stateData = response;
} else {
stateData = response.data;
if (stateData.shuttingDown) {
state = BrServerStatusModalController.STATES.STOPPING;
} else if (!stateData.up) {
state = BrServerStatusModalController.STATES.STARTING;
} else if (stateData.healthy && stateData.ha.planeId && stateData.ha.masterId !== stateData.ha.ownId) {
state = BrServerStatusModalController.STATES.NOT_HA_MASTER;
} else if (!stateData.healthy) {
state = BrServerStatusModalController.STATES.UNHEALTHY;
}
let sensitiveFields = stateData['brooklyn.security.sensitive.fields'];
if (sensitiveFields) {
setSensitiveFields(sensitiveFields.tokens, sensitiveFields['plaintext.blocked']);
}
}
previousState = state;
$rootScope.$broadcast('br-server-state-update', {state: state, stateData: stateData});
if (state !== BrServerStatusModalController.STATES.OK && !cookie.dismissed && cookie.dismissedSate !== state) {
openModal(state, stateData);
}
}