[ftr/kbnServer] prevent caching errors when fetching status (#12848)

This commit is contained in:
Spencer 2017-07-13 17:02:28 -07:00 committed by GitHub
parent 8f346335bf
commit 10656c2108

View file

@ -1,12 +1,20 @@
import { once } from 'lodash';
export class KibanaServerVersion {
constructor(kibanaStatus) {
this.kibanaStatus = kibanaStatus;
this._cachedVersionNumber;
}
get = once(async () => {
async get() {
if (this._cachedVersionNumber) {
return this._cachedVersionNumber;
}
const status = await this.kibanaStatus.get();
return status.version.number;
})
if (status && status.version && status.version.number) {
this._cachedVersionNumber = status.version.number;
return this._cachedVersionNumber;
}
throw new Error(`Unable to fetch Kibana Server status, received ${JSON.stringify(status)}`);
}
}