Я хочу прочитать тело запроса в своем файле hooks.server.ts. тип импорта {Handle} из '@sveltejs/kit';
export const handle = (async ({ event, resolve }) => {
console.info(event.request.body);
const response = await resolve(event);
return response;
}) satisfies Handle;
Это дает мне
ReadableStream { locked: false, state: 'readable', supportsBYOB: false }
Если я это прочитаю
const reader = request.body.getReader();
let text;
let result;
while (!(result = await reader.read()).done) {
text += result.value;
}
console.info(text);
console.info(request.body);
И затем зарегистрируйте тело, я получаю:
ReadableStream { locked: true, state: 'closed', supportsBYOB: false }
Это приводит к фактическому вызову, который я хочу сделать, чтобы вызвать ошибку
TypeError: Тело непригодно для использования в specConsumeBody (/home/hp/git/booking/node_modules/undici/lib/fetch/body.js:492:11) в Request.json (/home/hp/git/booking/node_modules/undici/lib/fetch/body.js:359:14)
Как я могу прочитать тело в хуках?
Вы можете clone() Request и работать с ним, чтобы не изменять оригинал.