1
0
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:
Dan Brown
2024-05-18 21:18:15 +01:00
parent 5651d2c43d
commit 72c5141dec
3 changed files with 34 additions and 4 deletions

View File

@ -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;
}