@@ -590,7 +590,7 @@ user-agent-defined <a for=header>value</a> for the
590590 <li><p> A <dfn export for=body id=concept-body-total-bytes>total bytes</dfn> (an
591591 integer), initially 0.
592592
593- <li><p> A <dfn export for=body id=concept-body-replayable>replayable flag </dfn> , initially unset .
593+ <li><p> A <dfn export for=body id=concept-body-source>source </dfn> , initially null .
594594</ul>
595595
596596<p> A <a for=/>body</a> <var> body</var> is said to be
@@ -3029,8 +3029,7 @@ in addition to <a>HTTP fetch</a> above.
30293029
30303030 <li><p> If <var> actualResponse</var> 's <a for=response>status</a> is not <code> 303</code> ,
30313031 <var> request</var> 's <a for=request>body</a> is non-null, and <var>request</var>' s
3032- <a for=request>body</a> 's <a for=body>replayable flag</a> is unset, then return a
3033- <a>network error</a> .
3032+ <a for=request>body</a> 's <a for=body>source</a> is null, then return a <a>network error</a> .
30343033
30353034 <li>
30363035 <p> If <i> CORS flag</i> is set and <var> actualResponse</var> 's
@@ -3056,6 +3055,17 @@ in addition to <a>HTTP fetch</a> above.
30563055 to `<code> GET</code> ` and <var> request</var> 's <a for=request>body</a>
30573056 to null.
30583057
3058+ <li>
3059+ <p> If <var> request</var> 's <a for=request>body</a> is not null, then set <var>request</var>' s
3060+ <a for=request>body</a> to the first part of <a lt=extract for=BodyInit>extracting</a>
3061+ <var> request</var> 's <a for=request>body</a>' s <a for=body>source</a> .
3062+
3063+ <p class="note no-backref"><var> request</var> 's <a for=request>body</a>' s <a for=body>source</a> 's
3064+ nullity has already been checked.
3065+
3066+ <p class="note no-backref"> The <a lt=extract for=BodyInit>extracting</a> operation cannot throw
3067+ as it was called for the same <a for=body>source</a> before.
3068+
30593069 <li><p> Append <var> actualResponse</var> 's
30603070 <a for=response>location URL</a> to <var> request</var> 's
30613071 <a for=request>url list</a> .
@@ -3091,8 +3101,7 @@ steps:
30913101 <var> request</var> otherwise.
30923102
30933103 <p class="note no-backref"> A <var> request</var> is typically cloned as it needs to be possible to
3094- add <a>headers</a> and read its
3095- <a for=request>body</a> without affecting <var> request</var> . As
3104+ add <a>headers</a> without affecting <var> request</var> . As
30963105 <var> request</var> is reused with redirects, authentication, and proxy authentication.
30973106
30983107 <li>
@@ -3373,9 +3382,22 @@ steps:
33733382 <li class=XXX><p> Needs testing: multiple `<code> WWW-Authenticate</code> ` headers, missing,
33743383 parsing issues.
33753384
3376- <li><p> If <var> request</var> 's <a for=request>body</a> is non-null and <var>request</var>' s
3377- <a for=request>body</a> 's <a for=body>replayable flag</a> is unset, then return a
3378- <a>network error</a> .
3385+ <li>
3386+ <p> If <var> request</var> 's <a for=request>body</a> is non-null, then run these subsubsteps:
3387+
3388+ <ol>
3389+ <li><p> If <var> request</var> 's <a for=request>body</a>' s <a for=body>source</a> is null,
3390+ then return a <a>network error</a> .
3391+
3392+ <li>
3393+ <p>
3394+ <p> Set <var> request</var> 's <a for=request>body</a> to the first part of
3395+ <a lt=extract for=BodyInit>extracting</a> <var> request</var> 's <a for=request>body</a>' s
3396+ <a for=body>source</a> .
3397+
3398+ <p class="note no-backref"> The <a lt=extract for=BodyInit>extracting</a> operation cannot
3399+ throw as it was called for the same <a for=body>source</a> before.
3400+ </ol>
33793401
33803402 <li>
33813403 <p> If <var> request</var> 's
@@ -4266,7 +4288,7 @@ typedef (Blob or BufferSource or FormData or URLSearchParams or ReadableStream o
42664288
42674289 <li><p> Let <var> action</var> be null.
42684290
4269- <li><p> Let <var> replayable </var> be false .
4291+ <li><p> Let <var> source </var> be null .
42704292
42714293 <li>
42724294 <p> Switch on <var> object</var> 's type:
@@ -4279,7 +4301,7 @@ typedef (Blob or BufferSource or FormData or URLSearchParams or ReadableStream o
42794301 <p> If <var> object</var> 's {{Blob/type}}
42804302 attribute is not the empty byte sequence, set <var> Content-Type</var> to its value.
42814303
4282- <p> Set <var> replayable </var> to true .
4304+ <p> Set <var> source </var> to object .
42834305
42844306 <dt><code> BufferSource</code>
42854307 <dd>
@@ -4289,7 +4311,7 @@ typedef (Blob or BufferSource or FormData or URLSearchParams or ReadableStream o
42894311 <var> stream</var> . If that threw an exception,
42904312 <a abstract-op>error</a> <var> stream</var> with that exception.
42914313
4292- <p> Set <var> replayable </var> to true .
4314+ <p> Set <var> source </var> to object .
42934315
42944316 <dt> {{FormData}}
42954317 <dd>
@@ -4303,7 +4325,7 @@ typedef (Blob or BufferSource or FormData or URLSearchParams or ReadableStream o
43034325 <a><code>multipart/form-data</code> boundary string</a> generated by the
43044326 <a><code>multipart/form-data</code> encoding algorithm</a> .
43054327
4306- <p> Set <var> replayable </var> to true .
4328+ <p> Set <var> source </var> to object .
43074329
43084330 <dt> {{URLSearchParams}}
43094331 <dd>
@@ -4316,15 +4338,15 @@ typedef (Blob or BufferSource or FormData or URLSearchParams or ReadableStream o
43164338 <p> Set <var> Content-Type</var> to
43174339 `<code> application/x-www-form-urlencoded;charset=UTF-8</code> `.
43184340
4319- <p> Set <var> replayable </var> to true .
4341+ <p> Set <var> source </var> to object .
43204342
43214343 <dt><code> USVString</code>
43224344 <dd>
43234345 <p> Set <var> action</var> to an action that runs <a>utf-8 encode</a> on <var> object</var> .
43244346
43254347 <p> Set <var> Content-Type</var> to `<code> text/plain;charset=UTF-8</code> `.
43264348
4327- <p> Set <var> replayable </var> to true .
4349+ <p> Set <var> source </var> to object .
43284350
43294351 <dt> {{ReadableStream}}
43304352 <dd><p> Set <var> stream</var> to <var> object</var> .
@@ -4350,9 +4372,7 @@ typedef (Blob or BufferSource or FormData or URLSearchParams or ReadableStream o
43504372 </ol>
43514373
43524374 <li><p> Let <var> body</var> be a <a for=/>body</a> whose <a for=body>stream</a> is
4353- <var> stream</var> .
4354-
4355- <li><p> Set <var> body</var> 's <a for=body>replayable flag</a> if <var> replayable</var> is true.
4375+ <var> stream</var> and whose <a fore=body>source</a> is <var> source</var> .
43564376
43574377 <li><p> Return <var> body</var> and <var> Content-Type</var> .
43584378</ol>
0 commit comments