const activeRequests = new Map();
export function registerRequest(sessionId, requestData) {
if (!sessionId) {
console.warn('Attempted to register request without session ID');
return;
}
console.log(`Registering request for session: ${sessionId}`);
activeRequests.set(sessionId, requestData);
}
export function cancelRequest(sessionId) {
if (!sessionId) {
console.warn('Attempted to cancel request without session ID');
return false;
}
const requestData = activeRequests.get(sessionId);
if (!requestData) {
console.warn(`No active request found for session: ${sessionId}`);
return false;
}
console.log(`Cancelling request for session: ${sessionId}`);
if (typeof requestData.abort === 'function') {
try {
requestData.abort();
console.log(`Successfully aborted request for session: ${sessionId}`);
} catch (error) {
console.error(`Error aborting request for session ${sessionId}:`, error);
}
}
activeRequests.delete(sessionId);
return true;
}
export function isRequestActive(sessionId) {
return activeRequests.has(sessionId);
}
export function getActiveRequests() {
return activeRequests;
}
export function clearRequest(sessionId) {
if (!sessionId) {
console.warn('Attempted to clear request without session ID');
return;
}
if (activeRequests.has(sessionId)) {
console.log(`Clearing request for session: ${sessionId}`);
activeRequests.delete(sessionId);
}
}