1
0
mirror of https://github.com/flarum/core.git synced 2025-10-12 07:24:27 +02:00

Some improvements to request error handling and modal error formatting (#1929)

* Use decodeURI instead of unescape & don't close modals

* Add comment

* Don't use a try/catch, clean up the group log code

* Remove double negative

* Format; fix issues from rebasing
This commit is contained in:
David Sevilla Martín
2020-05-12 12:23:13 -04:00
committed by GitHub
parent b7355db2b7
commit 7e661df15d
2 changed files with 33 additions and 8 deletions

View File

@@ -6,16 +6,26 @@ export default class RequestErrorModal extends Modal {
}
title() {
return this.props.error.xhr ? this.props.error.xhr.status + ' ' + this.props.error.xhr.statusText : '';
return this.props.error.xhr ? `${this.props.error.xhr.status} ${this.props.error.xhr.statusText}` : '';
}
content() {
const { error, formattedError } = this.props;
let responseText;
try {
responseText = JSON.stringify(JSON.parse(this.props.error.responseText), null, 2);
} catch (e) {
responseText = this.props.error.responseText;
// If the error is already formatted, just add line endings;
// else try to parse it as JSON and stringify it with indentation
if (formattedError) {
responseText = formattedError.join('\n\n');
} else {
try {
const json = error.response || JSON.parse(error.responseText);
responseText = JSON.stringify(json, null, 2);
} catch (e) {
responseText = error.responseText;
}
}
return (