77 lines
2.2 KiB
JavaScript
77 lines
2.2 KiB
JavaScript
/**
|
|
* Checks if a string is valid (not null and not empty)
|
|
* @param {string} str
|
|
* @returns true if valid, false otherwise
|
|
*/
|
|
function ValidString(str) {
|
|
if (str) {
|
|
if (str.length > 0) {
|
|
return true;
|
|
}
|
|
}
|
|
return false;
|
|
}
|
|
|
|
/**
|
|
* Performs a POST request to the specified URL with the given data.
|
|
* @param {string} url Service endpoint URL
|
|
* @param {object} data Data to be sent in the request body
|
|
* @param {function} onSuccess callback for successful response
|
|
* @param {function} onError callback for error response
|
|
*/
|
|
function Post(url, data, onSuccess, onError) {
|
|
fetch(url, {
|
|
method: "POST",
|
|
body: JSON.stringify(data)
|
|
}).then(response => {
|
|
if (response.ok) {
|
|
return response.json();
|
|
} else {
|
|
let str = `POST request to ${url} failed. Status: ${response.statusText}`;
|
|
throw new Error(str);
|
|
}
|
|
}).then(data => {
|
|
if (onSuccess) {
|
|
onSuccess(data);
|
|
}
|
|
}).catch(error => {
|
|
if (ValidString(error.message)) {
|
|
if (onError) {
|
|
onError(error.message);
|
|
} else {
|
|
console.error(error.message);
|
|
}
|
|
} else console.log("An unknown error occurred during POST request.");
|
|
|
|
});
|
|
}
|
|
|
|
/**
|
|
* Performs a GET request to the specified URL.
|
|
* @param {string} url Service endpoint URL
|
|
* @param {function} onSuccess callback for successful response
|
|
* @param {function} onError callback for error response
|
|
*/
|
|
function Get(url, onSuccess, onError) {
|
|
fetch(url).then(response => {
|
|
if (response.ok) {
|
|
return response.json();
|
|
} else {
|
|
let str = `GET request to ${url} failed. Status: ${response.statusText}`;
|
|
throw new Error(str);
|
|
}
|
|
}).then(data => {
|
|
if (onSuccess) {
|
|
onSuccess(data);
|
|
}
|
|
}).catch(error => {
|
|
if (ValidString(error.message)) {
|
|
if (onError) {
|
|
onError(error.message);
|
|
} else {
|
|
console.error(error.message);
|
|
}
|
|
}
|
|
else console.log("An unknown error occurred during GET request.");
|
|
});
|
|
} |