ensure missing indexPattern error is bubbled up to error callout (#79378)

This commit is contained in:
Melissa Alvarez 2020-10-06 09:39:42 -04:00 committed by GitHub
parent 1e36e275ca
commit 9794188cbf
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 17 additions and 1 deletions

View file

@ -8,6 +8,7 @@ export { MLRequestFailure } from './request_error';
export { extractErrorMessage, extractErrorProperties } from './process_errors';
export {
ErrorType,
ErrorMessage,
EsErrorBody,
EsErrorRootCause,
MLErrorObject,

View file

@ -9,6 +9,7 @@ import {
MLErrorObject,
isBoomError,
isErrorString,
isErrorMessage,
isEsErrorBody,
isMLResponseError,
} from './types';
@ -40,7 +41,7 @@ export const extractErrorProperties = (error: ErrorType): MLErrorObject => {
};
}
if (error?.body === undefined) {
if (error?.body === undefined && !error?.message) {
return {
message: '',
};
@ -70,6 +71,12 @@ export const extractErrorProperties = (error: ErrorType): MLErrorObject => {
}
}
if (isErrorMessage(error)) {
return {
message: error.message,
};
}
// If all else fail return an empty message instead of JSON.stringify
return {
message: '',

View file

@ -31,6 +31,10 @@ export interface MLResponseError {
};
}
export interface ErrorMessage {
message: string;
}
export interface MLErrorObject {
message: string;
statusCode?: number;
@ -51,6 +55,10 @@ export function isErrorString(error: any): error is string {
return typeof error === 'string';
}
export function isErrorMessage(error: any): error is ErrorMessage {
return error && error.message !== undefined && typeof error.message === 'string';
}
export function isMLResponseError(error: any): error is MLResponseError {
return typeof error.body === 'object' && 'message' in error.body;
}