[bug] More robust retrieveData
This commit is contained in:
parent
34a65ec079
commit
26f985195d
@ -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 {
|
||||
|
Loading…
x
Reference in New Issue
Block a user