Refactor error handling part 2 (#313)

This commit is contained in:
victor-meng
2020-11-03 13:40:44 -08:00
committed by GitHub
parent a009a8ba5f
commit 5f1f7a8266
58 changed files with 229 additions and 336 deletions

View File

@@ -3,6 +3,7 @@ import { HttpStatusCodes } from "../Common/Constants";
import * as Logger from "../Common/Logger";
import UrlUtility from "../Common/UrlUtility";
import { NotebookUtil } from "../Explorer/Notebook/NotebookUtil";
import { getErrorMessage } from "../Common/ErrorHandlingUtils";
export interface IGitHubPageInfo {
endCursor: string;
@@ -244,7 +245,7 @@ export class GitHubClient {
data: GitHubClient.toGitHubRepo(response.repository)
};
} catch (error) {
GitHubClient.log(Logger.logError, `GitHubClient.getRepoAsync failed: ${error}`);
Logger.logError(getErrorMessage(error), "GitHubClient.Octokit", "GitHubClient.getRepoAsync failed");
return {
status: GitHubClient.SelfErrorCode,
data: undefined
@@ -265,7 +266,7 @@ export class GitHubClient {
pageInfo: GitHubClient.toGitHubPageInfo(response.viewer.repositories.pageInfo)
};
} catch (error) {
GitHubClient.log(Logger.logError, `GitHubClient.getReposAsync failed: ${error}`);
Logger.logError(getErrorMessage(error), "GitHubClient.Octokit", "GitHubClient.getRepoAsync failed");
return {
status: GitHubClient.SelfErrorCode,
data: undefined
@@ -294,7 +295,7 @@ export class GitHubClient {
pageInfo: GitHubClient.toGitHubPageInfo(response.repository.refs.pageInfo)
};
} catch (error) {
GitHubClient.log(Logger.logError, `GitHubClient.getBranchesAsync failed: ${error}`);
Logger.logError(getErrorMessage(error), "GitHubClient.Octokit", "GitHubClient.getBranchesAsync failed");
return {
status: GitHubClient.SelfErrorCode,
data: undefined
@@ -359,7 +360,7 @@ export class GitHubClient {
data
};
} catch (error) {
GitHubClient.log(Logger.logError, `GitHubClient.getContentsAsync failed: ${error}`);
Logger.logError(getErrorMessage(error), "GitHubClient.Octokit", "GitHubClient.getContentsAsync failed");
return {
status: GitHubClient.SelfErrorCode,
data: undefined
@@ -503,7 +504,7 @@ export class GitHubClient {
debug: () => {},
info: (message?: any) => GitHubClient.log(Logger.logInfo, message),
warn: (message?: any) => GitHubClient.log(Logger.logWarning, message),
error: (message?: any) => GitHubClient.log(Logger.logError, message)
error: (error?: any) => Logger.logError(getErrorMessage(error), "GitHubClient.Octokit")
}
});

View File

@@ -41,7 +41,7 @@ export class GitHubContentProvider implements IContentProvider {
return this.createSuccessAjaxResponse(HttpStatusCodes.NoContent, undefined);
} catch (error) {
Logger.logError(error, "GitHubContentProvider/remove", error.errno);
Logger.logError(getErrorMessage(error), "GitHubContentProvider/remove", error.errno);
return this.createErrorAjaxResponse(error);
}
})
@@ -65,7 +65,7 @@ export class GitHubContentProvider implements IContentProvider {
return this.createSuccessAjaxResponse(HttpStatusCodes.OK, this.createContentModel(uri, content.data, params));
} catch (error) {
Logger.logError(error, "GitHubContentProvider/get", error.errno);
Logger.logError(getErrorMessage(error), "GitHubContentProvider/get", error.errno);
return this.createErrorAjaxResponse(error);
}
})
@@ -105,7 +105,7 @@ export class GitHubContentProvider implements IContentProvider {
this.createContentModel(newUri, gitHubFile, { content: 0 })
);
} catch (error) {
Logger.logError(error, "GitHubContentProvider/update", error.errno);
Logger.logError(getErrorMessage(error), "GitHubContentProvider/update", error.errno);
return this.createErrorAjaxResponse(error);
}
})
@@ -182,7 +182,7 @@ export class GitHubContentProvider implements IContentProvider {
this.createContentModel(newUri, newGitHubFile, { content: 0 })
);
} catch (error) {
Logger.logError(error, "GitHubContentProvider/create", error.errno);
Logger.logError(getErrorMessage(error), "GitHubContentProvider/create", error.errno);
return this.createErrorAjaxResponse(error);
}
})
@@ -260,7 +260,7 @@ export class GitHubContentProvider implements IContentProvider {
this.createContentModel(uri, gitHubFile, { content: 0 })
);
} catch (error) {
Logger.logError(error, "GitHubContentProvider/update", error.errno);
Logger.logError(getErrorMessage(error), "GitHubContentProvider/update", error.errno);
return this.createErrorAjaxResponse(error);
}
})
@@ -269,25 +269,25 @@ export class GitHubContentProvider implements IContentProvider {
public listCheckpoints(_: ServerConfig, path: string): Observable<AjaxResponse> {
const error = new GitHubContentProviderError("Not implemented");
Logger.logError(error, "GitHubContentProvider/listCheckpoints", error.errno);
Logger.logError(error.message, "GitHubContentProvider/listCheckpoints", error.errno);
return of(this.createErrorAjaxResponse(error));
}
public createCheckpoint(_: ServerConfig, path: string): Observable<AjaxResponse> {
const error = new GitHubContentProviderError("Not implemented");
Logger.logError(error, "GitHubContentProvider/createCheckpoint", error.errno);
Logger.logError(error.message, "GitHubContentProvider/createCheckpoint", error.errno);
return of(this.createErrorAjaxResponse(error));
}
public deleteCheckpoint(_: ServerConfig, path: string, checkpointID: string): Observable<AjaxResponse> {
const error = new GitHubContentProviderError("Not implemented");
Logger.logError(error, "GitHubContentProvider/deleteCheckpoint", error.errno);
Logger.logError(error.message, "GitHubContentProvider/deleteCheckpoint", error.errno);
return of(this.createErrorAjaxResponse(error));
}
public restoreFromCheckpoint(_: ServerConfig, path: string, checkpointID: string): Observable<AjaxResponse> {
const error = new GitHubContentProviderError("Not implemented");
Logger.logError(error, "GitHubContentProvider/restoreFromCheckpoint", error.errno);
Logger.logError(error.message, "GitHubContentProvider/restoreFromCheckpoint", error.errno);
return of(this.createErrorAjaxResponse(error));
}

View File

@@ -1,6 +1,5 @@
import ko from "knockout";
import { HttpStatusCodes } from "../Common/Constants";
import * as Logger from "../Common/Logger";
import { configContext } from "../ConfigContext";
import { AuthorizeAccessComponent } from "../Explorer/Controls/GitHub/AuthorizeAccessComponent";
import { ConsoleDataType } from "../Explorer/Menus/NotificationConsole/NotificationConsoleComponent";
@@ -8,6 +7,7 @@ import { JunoClient } from "../Juno/JunoClient";
import { isInvalidParentFrameOrigin } from "../Utils/MessageValidation";
import * as NotificationConsoleUtils from "../Utils/NotificationConsoleUtils";
import { GitHubConnectorMsgType, IGitHubConnectorParams } from "./GitHubConnector";
import { handleError } from "../Common/ErrorHandlingUtils";
window.addEventListener("message", (event: MessageEvent) => {
if (isInvalidParentFrameOrigin(event)) {
@@ -99,9 +99,7 @@ export class GitHubOAuthService {
this.resetToken();
return true;
} catch (error) {
const message = `Failed to delete app authorization: ${error}`;
Logger.logError(message, "GitHubOAuthService/logout");
NotificationConsoleUtils.logConsoleMessage(ConsoleDataType.Error, message);
handleError(error, "GitHubOAuthService/logout", "Failed to delete app authorization");
return false;
}
}