From 832f29f6662955b48d8dfd9ed2902807bbb42698 Mon Sep 17 00:00:00 2001 From: Panu Horsmalahti Date: Tue, 1 Dec 2020 11:22:01 +0200 Subject: [PATCH] Handle errors from getLatestApiPrefixGroup. (#1575) * Handle errors from getLatestApiPrefixGroup. Signed-off-by: Panu Horsmalahti * Use logger instead of console for error Signed-off-by: Panu Horsmalahti --- src/renderer/api/kube-api.ts | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/src/renderer/api/kube-api.ts b/src/renderer/api/kube-api.ts index ae558f0bf1..3ba1f37f8a 100644 --- a/src/renderer/api/kube-api.ts +++ b/src/renderer/api/kube-api.ts @@ -2,13 +2,14 @@ import merge from "lodash/merge"; import { stringify } from "querystring"; -import { IKubeObjectConstructor, KubeObject } from "./kube-object"; -import { KubeJsonApi, KubeJsonApiData, KubeJsonApiDataList } from "./kube-json-api"; -import { apiKube } from "./index"; -import { kubeWatchApi } from "./kube-watch-api"; -import { apiManager } from "./api-manager"; -import { createKubeApiURL, parseKubeApi } from "./kube-api-parse"; import { apiKubePrefix, isDevelopment, isTestEnv } from "../../common/vars"; +import logger from "../../main/logger"; +import { apiManager } from "./api-manager"; +import { apiKube } from "./index"; +import { createKubeApiURL, parseKubeApi } from "./kube-api-parse"; +import { KubeJsonApi, KubeJsonApiData, KubeJsonApiDataList } from "./kube-json-api"; +import { IKubeObjectConstructor, KubeObject } from "./kube-object"; +import { kubeWatchApi } from "./kube-watch-api"; export interface IKubeApiOptions { /** @@ -173,13 +174,18 @@ export class KubeApi { */ private async getPreferredVersionPrefixGroup() { if (this.options.fallbackApiBases) { - return this.getLatestApiPrefixGroup(); - } else { - return { - apiPrefix: this.apiPrefix, - apiGroup: this.apiGroup - }; + try { + return await this.getLatestApiPrefixGroup(); + } catch (error) { + // If valid API wasn't found, log the error and return defaults below + logger.error(error); + } } + + return { + apiPrefix: this.apiPrefix, + apiGroup: this.apiGroup + }; } protected async checkPreferredVersion() {