Skip to content

Commit

Permalink
fix: error handling in errorboundary
Browse files Browse the repository at this point in the history
  • Loading branch information
harshpatel-crest committed Mar 15, 2021
1 parent 3e2d15d commit b1ed49b
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 25 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import Message from '@splunk/react-ui/Message';
import PropTypes from 'prop-types';

import errorCodes from '../constants/errorCodes';
import ErrorWithCode from '../errors/errorWithCode';

class ErrorBoundary extends React.Component {
constructor(props) {
Expand All @@ -14,9 +13,7 @@ class ErrorBoundary extends React.Component {

static getDerivedStateFromError(error) {
// Update state so the next render will show the fallback UI.
if (error instanceof ErrorWithCode) {
return { errorCode: error.errorCode };
}
return { errorCode: error.uccErrorCode };
}

componentDidCatch(error, errorInfo) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,13 @@ import {
import { getUnifiedConfigs, generateToast } from '../../util/util';
import InputRowContext from '../../context/InputRowContext';
import { axiosCallWrapper } from '../../util/axiosCallWrapper';
import { ErrorWithCode } from '../../errors/errorWithCode';

function TableWrapper({ isInput, serviceName }) {
const [loading, setLoading] = useState(true);
const [searchText, setSearchText] = useState('');
const [searchType, setSearchType] = useState('all');
const [selecetedPage, setSelectedPage] = useState('10');
const [error, setError] = useState(null);
const [errorCode, setErrorCode] = useState('');

const { rowData, setRowData } = useContext(InputRowContext);

Expand Down Expand Up @@ -55,7 +53,7 @@ function TableWrapper({ isInput, serviceName }) {
unifiedConfigs.pages.inputs.services.forEach((service) => {
requests.push(
axiosCallWrapper({
serviceName: service.name,
serviceName: service.name + '1',
})
);
});
Expand All @@ -64,28 +62,27 @@ function TableWrapper({ isInput, serviceName }) {
// eslint-disable-next-line no-shadow
.catch((error) => {
let message = '';
let errorCode = '';
if (error.response) {
// The request was made and the server responded with a status code
message = `Error received from server: ${error.response.data.messages[0].text}`;
setErrorCode('ERR0001');
generateToast(message);
errorCode = 'ERR0001';
} else if (error.request) {
// The request was made but no response was received
message = `No response received while making request to input services`;
setErrorCode('ERR0002');
generateToast(message);
errorCode = 'ERR0002';
} else {
// Something happened in setting up the request that triggered an Error
message = `Error making request to input services`;
setErrorCode('ERR0003');
generateToast(message);
errorCode = 'ERR0003';
}
setError(error);
error.uccErrorCode = errorCode;
generateToast(message);
setLoading(false);
setError(error);
return Promise.reject(error);
})
.then((response) => {
// const isNotUndefined = response.every(Boolean);
modifyAPIResponse(response.map((res) => res.data.entry));
});
};
Expand Down Expand Up @@ -197,13 +194,13 @@ function TableWrapper({ isInput, serviceName }) {
});
return arr;
}
return findByMatchingValue(rowData[searchType]);
return findByMatchingValue(rowData[searchType] || []);
};

const filteredData = !loading && getRowData();

if (errorCode) {
throw ErrorWithCode(error, errorCode);
if (error?.uccErrorCode) {
throw error;
}

return (
Expand Down

This file was deleted.

0 comments on commit b1ed49b

Please sign in to comment.