From b3e56e0c923146f2429b68d9840ca3bd0bc83dd0 Mon Sep 17 00:00:00 2001 From: Timothy Jaeryang Baek Date: Wed, 1 Apr 2026 06:02:37 -0500 Subject: [PATCH] refac --- src/lib/apis/index.ts | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/lib/apis/index.ts b/src/lib/apis/index.ts index fea2d3899..05475b4b3 100644 --- a/src/lib/apis/index.ts +++ b/src/lib/apis/index.ts @@ -561,13 +561,24 @@ export const executeToolServer = async ( responseHeaders[key] = value; }); - const text = await res.text(); let responseData; + const contentType = res.headers.get('Content-Type')?.split(';')[0]?.trim() ?? ''; try { - responseData = JSON.parse(text); + responseData = await res.clone().json(); } catch { - responseData = text; + if (contentType.startsWith('text/') || !contentType) { + responseData = await res.text(); + } else { + const buf = await res.arrayBuffer(); + const bytes = new Uint8Array(buf); + let binary = ''; + for (let i = 0; i < bytes.length; i++) { + binary += String.fromCharCode(bytes[i]); + } + const b64 = btoa(binary); + responseData = `data:${contentType};base64,${b64}`; + } } return [responseData, responseHeaders]; } catch (err: any) {