mirror of
https://github.com/BookStackApp/BookStack.git
synced 2025-07-28 17:02:04 +03:00
File Uploads: Added basic validation response formatting
Tested via app-level validation file limit, and then also with nginx file post limit. For #4996
This commit is contained in:
@ -207,3 +207,32 @@ async function performDelete(url, data = null) {
|
||||
}
|
||||
|
||||
export {performDelete as delete};
|
||||
|
||||
/**
|
||||
* Parse the response text for an error response to a user
|
||||
* presentable string. Handles a range of errors responses including
|
||||
* validation responses & server response text.
|
||||
* @param {String} text
|
||||
* @returns {String}
|
||||
*/
|
||||
export function formatErrorResponseText(text) {
|
||||
const data = text.startsWith('{') ? JSON.parse(text) : {message: text};
|
||||
if (!data) {
|
||||
return text;
|
||||
}
|
||||
|
||||
if (data.message || data.error) {
|
||||
return data.message || data.error;
|
||||
}
|
||||
|
||||
const values = Object.values(data);
|
||||
const isValidation = values.every(val => {
|
||||
return Array.isArray(val) || val.every(x => typeof x === 'string');
|
||||
});
|
||||
|
||||
if (isValidation) {
|
||||
return values.flat().join(' ');
|
||||
}
|
||||
|
||||
return text;
|
||||
}
|
||||
|
Reference in New Issue
Block a user