Создание new Request()
или fetch()
создает Request
с неопределенным Request.body
.
В документах https://developer.mozilla.org/en-US/docs/Web/API/Request указано, что Request
имеет body
:
Цитата: "... body: простой метод получения, используемый для выставления ReadableStream
содержимого тела."
(new Request('http://example.com/')).body
в консоли chrome / ff дает undefined
.
С примером POST вы получите то же самое:
(new Request('http://example.com/', {
method: 'POST',
body: new ReadableStream({
pull: function(controller) {
console.log('pull called!');
controller.enqueue('Some data...');
}
})
})).body
Я ожидаю, что body
будет доступен для использования от ServiceWorker
до Request.body
, и его действие будет зависеть от body
.
Я пытался клонировать запрос.
Я тестировал как контент ServiceWorker
, так и обычный контекст window
.
Протестировано как Chrome версии 74.0.3729.169 (официальная сборка) (64-разрядная версия), так и Firefox 66.0.5 (64-разрядная версия) на Mac Mojave.
Примечание:
Это известная ошибка в хроме:
https://bugs.chromium.org/p/chromium/issues/detail?id=969843
https://bugs.chromium.org/p/chromium/issues/detail?id=688906