Skip to content

Commit 2ab2fce

Browse files
committed
fix
1 parent 38d57a1 commit 2ab2fce

File tree

1 file changed

+37
-17
lines changed

1 file changed

+37
-17
lines changed

fetch.bs

Lines changed: 37 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)