@@ -590,7 +590,7 @@ user-agent-defined <a for=header>value</a> for the
590
590
<li><p> A <dfn export for=body id=concept-body-total-bytes>total bytes</dfn> (an
591
591
integer), initially 0.
592
592
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 .
594
594
</ul>
595
595
596
596
<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.
3029
3029
3030
3030
<li><p> If <var> actualResponse</var> 's <a for=response>status</a> is not <code> 303</code> ,
3031
3031
<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> .
3034
3033
3035
3034
<li>
3036
3035
<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.
3056
3055
to `<code> GET</code> ` and <var> request</var> 's <a for=request>body</a>
3057
3056
to null.
3058
3057
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
+
3059
3069
<li><p> Append <var> actualResponse</var> 's
3060
3070
<a for=response>location URL</a> to <var> request</var> 's
3061
3071
<a for=request>url list</a> .
@@ -3091,8 +3101,7 @@ steps:
3091
3101
<var> request</var> otherwise.
3092
3102
3093
3103
<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
3096
3105
<var> request</var> is reused with redirects, authentication, and proxy authentication.
3097
3106
3098
3107
<li>
@@ -3373,9 +3382,22 @@ steps:
3373
3382
<li class=XXX><p> Needs testing: multiple `<code> WWW-Authenticate</code> ` headers, missing,
3374
3383
parsing issues.
3375
3384
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>
3379
3401
3380
3402
<li>
3381
3403
<p> If <var> request</var> 's
@@ -4266,7 +4288,7 @@ typedef (Blob or BufferSource or FormData or URLSearchParams or ReadableStream o
4266
4288
4267
4289
<li><p> Let <var> action</var> be null.
4268
4290
4269
- <li><p> Let <var> replayable </var> be false .
4291
+ <li><p> Let <var> source </var> be null .
4270
4292
4271
4293
<li>
4272
4294
<p> Switch on <var> object</var> 's type:
@@ -4279,7 +4301,7 @@ typedef (Blob or BufferSource or FormData or URLSearchParams or ReadableStream o
4279
4301
<p> If <var> object</var> 's {{Blob/type}}
4280
4302
attribute is not the empty byte sequence, set <var> Content-Type</var> to its value.
4281
4303
4282
- <p> Set <var> replayable </var> to true .
4304
+ <p> Set <var> source </var> to object .
4283
4305
4284
4306
<dt><code> BufferSource</code>
4285
4307
<dd>
@@ -4289,7 +4311,7 @@ typedef (Blob or BufferSource or FormData or URLSearchParams or ReadableStream o
4289
4311
<var> stream</var> . If that threw an exception,
4290
4312
<a abstract-op>error</a> <var> stream</var> with that exception.
4291
4313
4292
- <p> Set <var> replayable </var> to true .
4314
+ <p> Set <var> source </var> to object .
4293
4315
4294
4316
<dt> {{FormData}}
4295
4317
<dd>
@@ -4303,7 +4325,7 @@ typedef (Blob or BufferSource or FormData or URLSearchParams or ReadableStream o
4303
4325
<a><code>multipart/form-data</code> boundary string</a> generated by the
4304
4326
<a><code>multipart/form-data</code> encoding algorithm</a> .
4305
4327
4306
- <p> Set <var> replayable </var> to true .
4328
+ <p> Set <var> source </var> to object .
4307
4329
4308
4330
<dt> {{URLSearchParams}}
4309
4331
<dd>
@@ -4316,15 +4338,15 @@ typedef (Blob or BufferSource or FormData or URLSearchParams or ReadableStream o
4316
4338
<p> Set <var> Content-Type</var> to
4317
4339
`<code> application/x-www-form-urlencoded;charset=UTF-8</code> `.
4318
4340
4319
- <p> Set <var> replayable </var> to true .
4341
+ <p> Set <var> source </var> to object .
4320
4342
4321
4343
<dt><code> USVString</code>
4322
4344
<dd>
4323
4345
<p> Set <var> action</var> to an action that runs <a>utf-8 encode</a> on <var> object</var> .
4324
4346
4325
4347
<p> Set <var> Content-Type</var> to `<code> text/plain;charset=UTF-8</code> `.
4326
4348
4327
- <p> Set <var> replayable </var> to true .
4349
+ <p> Set <var> source </var> to object .
4328
4350
4329
4351
<dt> {{ReadableStream}}
4330
4352
<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
4350
4372
</ol>
4351
4373
4352
4374
<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> .
4356
4376
4357
4377
<li><p> Return <var> body</var> and <var> Content-Type</var> .
4358
4378
</ol>
0 commit comments