@@ -1001,8 +1001,7 @@ worked on in <a href=https://github.com/whatwg/fetch/issues/1156>issue #1156</a>
1001
1001
<p> A <dfn export id=concept-body>body</dfn> consists of:
1002
1002
1003
1003
<ul>
1004
- <li><p> A <dfn export for=body id=concept-body-stream>stream</dfn> (null or a {{ReadableStream}}
1005
- object).
1004
+ <li><p> A <dfn export for=body id=concept-body-stream>stream</dfn> (a {{ReadableStream}} object).
1006
1005
1007
1006
<li><p> A <dfn export for=body id=concept-body-transmitted>transmitted bytes</dfn>
1008
1007
(an integer), initially 0.
@@ -4105,30 +4104,21 @@ steps. They return a <a for=/>response</a>.
4105
4104
<p> Otherwise:
4106
4105
4107
4106
<ol>
4108
- <li><p> Set <var> httpRequest</var> to a copy of <var> request</var> except for its
4109
- <a for=request>body</a> .
4110
-
4111
- <li><p> Let <var> body</var> be <var> request</var> 's <a for=request>body</a> .
4112
-
4113
- <li><p> Set <var> httpRequest</var> 's <a for=request>body</a> to <var> body</var> .
4107
+ <li>
4108
+ <p> Set <var> httpRequest</var> to a <a for=request>clone</a> of <var> request</var> .
4114
4109
4115
- <li><p> If <var> body</var> is non-null, then set <var> request</var> 's <a for=request>body</a> to
4116
- a new <a for=/>body</a> whose <a for=body>stream</a> is null and whose <a for=body>source</a>
4117
- is <var> body</var> 's <a for=body>source</a> .
4110
+ <p class=note> Implementations are encouraged to avoid teeing <var> request</var> 's
4111
+ <a for=request>body</a> 's <a for=body>stream</a> when <var>request</var>' s
4112
+ <a for=request>body</a> 's <a for=body>source</a> is null as only a single body is needed in
4113
+ that case. E.g., when <var> request</var> 's <a for=request>body</a>' s <a for=body>source</a>
4114
+ is null, redirects and authentication will end up failing the fetch.
4118
4115
4119
4116
<li><p> Set <var> httpFetchParams</var> to a copy of <var> fetchParams</var> .
4120
4117
4121
4118
<li><p> Set <var> httpFetchParams</var> 's <a for="fetch params">request</a> to
4122
4119
<var> httpRequest</var> .
4123
4120
</ol>
4124
4121
4125
- <p class="note no-backref"><var> request</var> is copied as <var> httpRequest</var> here as we
4126
- need to be able to add headers to <var> httpRequest</var> and read its <a for=request>body</a>
4127
- without affecting <var> request</var> . Namely, <var> request</var> can be reused with redirects,
4128
- authentication, and proxy authentication. We copy rather than clone in order to reduce memory
4129
- consumption. In case <var> request</var> 's <a for=request>body</a>' s <a for=body>source</a> is
4130
- null, redirects and authentication will end up failing the fetch.
4131
-
4132
4122
<li>
4133
4123
<p> Let <var> includeCredentials</var> be true if one of
4134
4124
0 commit comments