Skip to content

Commit 6176912

Browse files
committed
fix(fetch): always lazy load stream/web
1 parent d46dd19 commit 6176912

File tree

1 file changed

+10
-1
lines changed

1 file changed

+10
-1
lines changed

lib/fetch/body.js

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,18 @@ const { kState } = require('./symbols')
66
const { Blob } = require('buffer')
77
const { Readable } = require('stream')
88
const { NotSupportedError } = require('../core/errors')
9-
const { ReadableStream } = require('stream/web')
109
const { kBodyUsed } = require('../core/symbols')
1110
const assert = require('assert')
1211
const nodeUtil = require('util')
1312

13+
let ReadableStream
14+
1415
// https://fetch.spec.whatwg.org/#concept-bodyinit-extract
1516
function extractBody (object, keepalive = false) {
17+
if (!ReadableStream) {
18+
ReadableStream = require('stream/web').ReadableStream
19+
}
20+
1621
// 1. Let stream be object if object is a ReadableStream object.
1722
// Otherwise, let stream be a new ReadableStream, and set up stream.
1823
let stream = object
@@ -161,6 +166,10 @@ function extractBody (object, keepalive = false) {
161166

162167
// https://fetch.spec.whatwg.org/#bodyinit-safely-extract
163168
function safelyExtractBody (object, keepalive = false) {
169+
if (!ReadableStream) {
170+
ReadableStream = require('stream/web').ReadableStream
171+
}
172+
164173
// To safely extract a body and a `Content-Type` value from
165174
// a byte sequence or BodyInit object object, run these steps:
166175

0 commit comments

Comments
 (0)