/**
* Monitors JSON payloads for isolated environments with error logging.
*
* @param {string} endpoint - The URL of the endpoint to monitor.
* @param {function} onPayload - Callback function to handle received payloads.
* @param {function} onError - Callback function to handle errors.
*/
function monitorJsonPayloads(endpoint, onPayload, onError) {
try {
const xhr = new XMLHttpRequest();
xhr.open('GET', endpoint, true);
xhr.onload = function() {
if (xhr.status >= 200 && xhr.status < 300) {
try {
const payload = JSON.parse(xhr.responseText);
onPayload(payload); // Handle the payload
} catch (parseError) {
onError(`Error parsing JSON: ${parseError.message}`);
}
} else {
onError(`Request failed with status: ${xhr.status}`);
}
};
xhr.onerror = function() {
onError('Network error during request.');
};
xhr.send();
} catch (error) {
onError(`An unexpected error occurred: ${error.message}`);
}
}
// Example usage:
// monitorJsonPayloads('https://your-isolated-endpoint.com/data', (payload) => {
// console.log('Received payload:', payload);
// }, (error) => {
// console.error('Error:', error);
// });
Add your comment