@copilotkit/shared
Version:
<img src="https://github.com/user-attachments/assets/0a6b64d9-e193-4940-a3f6-60334ac34084" alt="banner" style="border-radius: 12px; border: 2px solid #d6d4fa;" />
67 lines (66 loc) • 1.64 kB
JavaScript
// src/utils/requests.ts
async function readBody(r) {
const method = "method" in r ? r.method.toUpperCase() : void 0;
if (method === "GET" || method === "HEAD") {
return void 0;
}
if (!("body" in r) || r.body == null) {
return void 0;
}
try {
return await r.clone().json();
} catch {
try {
const text = await r.clone().text();
const trimmed = text.trim();
if (trimmed.length === 0)
return text;
if (trimmed.startsWith("{") || trimmed.startsWith("[")) {
try {
return JSON.parse(trimmed);
} catch {
return text;
}
}
return text;
} catch {
try {
const c = r.clone();
const stream = c.body ?? null;
if (!stream)
return void 0;
const reader = stream.getReader();
const decoder = new TextDecoder();
let out = "";
while (true) {
const { done, value } = await reader.read();
if (done)
break;
if (typeof value === "string") {
out += value;
} else {
out += decoder.decode(value, { stream: true });
}
}
out += decoder.decode();
const trimmed = out.trim();
if (trimmed.length === 0)
return out;
if (trimmed.startsWith("{") || trimmed.startsWith("[")) {
try {
return JSON.parse(trimmed);
} catch {
return out;
}
}
return out;
} catch {
return void 0;
}
}
}
}
export {
readBody
};
//# sourceMappingURL=chunk-XEMZTHQZ.mjs.map