- From: Harris Hancock <notifications@github.com>
- Date: Thu, 16 Aug 2018 15:40:47 -0700
- To: whatwg/fetch <fetch@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
Received on Thursday, 16 August 2018 22:41:09 UTC
Given some disturbed but unlocked ReadableStream `rs`, the following spec-conformant code will construct a Request object with a disturbed body: ```javascript let rs = // a disturbed, unlocked ReadableStream let request = new Request(url, { method: "POST", body: rs }) ``` This works because Request's constructor, `Request(input, init)`, only throws if `input.body` is disturbed, but does not throw if `init.body` is disturbed. This seems a little strange, because it means iteratively applying Request's constructor could throw upon the second invocation. An example would be in `fetch()`, which is required by the spec to pass its arguments to Request's constructor: ```javascript // This will NOT throw, because fetch() invokes new Request(input, init). await fetch(url, { method: "POST", body: rs }) // This WILL throw, because fetch() invokes new Request(input). let request = new Request(url, { method: "POST", body: rs }) await fetch(request) ``` Should this be considered a bug? -- You are receiving this because you are subscribed to this thread. Reply to this email directly or view it on GitHub: https://github.com/whatwg/fetch/issues/792
Received on Thursday, 16 August 2018 22:41:09 UTC