stream.ts 542 B

12345678910111213141516171819202122
  1. // https://developer.chrome.com/articles/fetch-streaming-requests/#feature-detection
  2. export const isSupportNativeFetchStream = () => {
  3. const supportsRequestStreams = (() => {
  4. let duplexAccessed = false
  5. const params = {
  6. body: new ReadableStream(),
  7. method: 'POST',
  8. get duplex() {
  9. duplexAccessed = true
  10. return 'half'
  11. },
  12. }
  13. const hasContentType = new Request('', params).headers.has('Content-Type')
  14. return duplexAccessed && !hasContentType
  15. })()
  16. return supportsRequestStreams
  17. }