Чтение тела запроса в hooks.server в sveltekit

Я хочу прочитать тело запроса в своем файле 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)

Как я могу прочитать тело в хуках?

Пройдите собеседование по Angular: Общие вопросы и ответы экспертов
Пройдите собеседование по Angular: Общие вопросы и ответы экспертов
Можете ли вы объяснить разницу между ngOnInit и конструктором в Angular?
Принципы SOLID в JavaScript с примерами
Принципы SOLID в JavaScript с примерами
Принцип единой ответственности подразумевает то, что:
Типы привязки данных в Angular
Типы привязки данных в Angular
Привязка данных автоматически поддерживает страницу в актуальном состоянии на основе состояния вашего приложения. Вы используете привязку данных,...
3 паттерна TypeScript, которые я использую в своей повседневной работе
3 паттерна TypeScript, которые я использую в своей повседневной работе
В TypeScript 2.0 в язык был добавлен модификатор readonly.
Мифический Angular - Миф Angular: стили компонентов
Мифический Angular - Миф Angular: стили компонентов
Это очень короткая и интересная для меня тема. В Angular каждый компонент может иметь свои собственные прикрепленные стили. Стили могут находиться в...
Подсказка RxJS [filter, skipWhile]
Подсказка RxJS [filter, skipWhile]
Эта подсказка описывает разницу между операторами filter и skipWhile из библиотеки RxJS .
1
0
94
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете clone() Request и работать с ним, чтобы не изменять оригинал.

Другие вопросы по теме