[bug] More robust retrieveData

This commit is contained in:
Sosthene 2025-09-08 18:12:38 +02:00
parent 34a65ec079
commit 26f985195d

View File

@ -50,11 +50,24 @@ export async function retrieveData(servers: string[], key: string): Promise<Arra
});
if (response.status === 200) {
// Validate that we received an ArrayBuffer
// Handle both ArrayBuffer and Buffer (Node.js)
if (response.data instanceof ArrayBuffer) {
return response.data;
} else if (Buffer.isBuffer(response.data)) {
// Convert Buffer to ArrayBuffer
return response.data.buffer.slice(
response.data.byteOffset,
response.data.byteOffset + response.data.byteLength
);
} else if (response.data && typeof response.data === 'object' && 'buffer' in response.data) {
// Handle Uint8Array or similar typed arrays
const buffer = response.data.buffer;
return buffer.slice(
response.data.byteOffset,
response.data.byteOffset + response.data.byteLength
);
} else {
console.error('Server returned non-ArrayBuffer data:', typeof response.data);
console.error('Server returned unsupported data type:', typeof response.data, response.data?.constructor?.name);
continue;
}
} else {