- From: Jake Archibald <notifications@github.com>
- Date: Tue, 12 Jul 2022 04:59:50 -0700
- To: whatwg/fetch <fetch@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
Received on Tuesday, 12 July 2022 12:00:04 UTC
It would be nice to have a synchronous feature detect for streaming requests. This currently works with the Chrome implementation: ```js const supportsRequestStreams = (() => { let duplexAccessed = false; const hasContentType = new Request('', { body: new ReadableStream(), method: 'POST', get duplex() { duplexAccessed = true; return 'half'; }, }).headers.has('Content-Type'); return duplexAccessed && !hasContentType; })(); ``` This tests that: - `duplex` is implemented as part of `RequestInit` - `body` can be a `ReadableStream`. Otherwise, it's converted to a string and gets a `text/plain` content type. However, it's possible that an implementation could support these two things, but reject when that request is passed to `fetch()` because it doesn't support request streams. In fact, Safari already behaves like this, but it doesn't implement `duplex` so the test still works. Is it reasonable to expect the above feature detect to mean "fetch supports streaming requests"? Should this be enforced with spec text and/or a wpt? -- Reply to this email directly or view it on GitHub: https://github.com/whatwg/fetch/issues/1470 You are receiving this because you are subscribed to this thread. Message ID: <whatwg/fetch/issues/1470@github.com>
Received on Tuesday, 12 July 2022 12:00:04 UTC