[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) {
|
if (response.status === 200) {
|
||||||
// Validate that we received an ArrayBuffer
|
// Handle both ArrayBuffer and Buffer (Node.js)
|
||||||
if (response.data instanceof ArrayBuffer) {
|
if (response.data instanceof ArrayBuffer) {
|
||||||
return response.data;
|
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 {
|
} 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;
|
continue;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user