RE: =[xhr]

If I recall how Node.js does this, if you don’t provide a `Content-Length` header, it automatically sets `Transfer-Encoding: chunked` the moment you start writing to the body.

What do we think of that kind of behavior for fetch requests? My opinion is that it’s pretty convenient, but I am not sure I like the implicitness.

Examples, based on fetch-with-streams:

```js
// non-chunked, non-streaming
fetch("http://example.com/post-to-me", {
  method: "POST",
  headers: {
    // implicit Content-Length (I assume)
  },
  body: "a string"
});

// non-chunked, streaming
fetch("http://example.com/post-to-me", {
  method: "POST",
  headers: {
    "Content-Length": 10
  },
  body(stream) {
    stream.write(new ArrayBuffer(5));
    setTimeout(() => stream.write(new ArrayBuffer(5)), 100);
    setTimeout(() => stream.close(), 200);
  }
});

// chunked, streaming
fetch("http://example.com/post-to-me", {
  method: "POST",
  headers: {
    // implicit Transfer-Encoding: chunked? Or require it explicitly?
  },
  body(stream) {
    stream.write(new ArrayBuffer(1024));
    setTimeout(() => stream.write(new ArrayBuffer(1024)), 100);
    setTimeout(() => stream.write(new ArrayBuffer(1024)), 200);
    setTimeout(() => stream.close(), 300);
  }
});
```

Received on Monday, 17 November 2014 14:51:12 UTC