fix handling and display of errors on get API call

This commit is contained in:
Jeremy Kauffman 2017-07-30 15:37:44 -04:00
parent 0a32ff1735
commit 8acccafe19
3 changed files with 11 additions and 8 deletions

View file

@ -9,7 +9,7 @@ import {
} from "selectors/file_info";
import { selectResolvingUris } from "selectors/content";
import { selectCostInfoForUri } from "selectors/cost_info";
import { doOpenModal } from "actions/app";
import { doAlertError, doOpenModal } from "actions/app";
import { doClaimEligiblePurchaseRewards } from "actions/rewards";
import { selectBadgeNumber } from "selectors/app";
import { selectTotalDownloadProgress } from "selectors/file_info";
@ -238,6 +238,7 @@ export function doStartDownload(uri, outpoint) {
if (downloadingByOutpoint[outpoint]) return;
lbry.file_list({ outpoint, full_status: true }).then(([fileInfo]) => {
dispatch({
type: types.DOWNLOADING_STARTED,
data: {
@ -297,6 +298,8 @@ export function doLoadVideo(uri) {
} else {
dispatch(doDownloadFile(uri, streamInfo));
}
}).catch(error => {
dispatch(doAlertError(error));
});
};
}
@ -452,4 +455,4 @@ export function doPublish(params) {
lbry.publishDeprecated(params, null, success, failure);
});
};
}
}

View file

@ -6,7 +6,7 @@ class ModalError extends React.PureComponent {
render() {
const { modal, closeModal, error } = this.props;
const errorObj = typeof error === "string" ? { error: error } : error;
const errorObj = typeof error === "string" ? { message: error } : error;
const error_key_labels = {
connectionString: __("API connection string"),
@ -18,10 +18,10 @@ class ModalError extends React.PureComponent {
};
const errorInfoList = [];
for (let key of Object.keys(error)) {
let val = typeof error[key] == "string"
? error[key]
: JSON.stringify(error[key]);
for (let key of Object.keys(errorObj)) {
let val = typeof errorObj[key] == "string"
? errorObj[key]
: JSON.stringify(errorObj[key]);
let label = error_key_labels[key];
errorInfoList.push(
<li key={key}><strong>{label}</strong>: <code>{val}</code></li>

View file

@ -27,7 +27,7 @@ jsonrpc.call = function(
xhr.addEventListener("load", function() {
var response = JSON.parse(xhr.responseText);
let error = response.error || response.result && response.result.error
let error = response.error || response.result && response.result.error;
if (error) {
if (errorCallback) {
errorCallback(error);