Skip to content

Commit f64d43f

Browse files
authored
Editorial: create the build a content range algorithm
Move the content-range algorithm to a standalone algorithm to avoid the additional inlined steps in scheme fetch. Fixes #1552.
1 parent 53e4c3d commit f64d43f

File tree

1 file changed

+26
-15
lines changed

1 file changed

+26
-15
lines changed

fetch.bs

Lines changed: 26 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1300,6 +1300,30 @@ run these steps:
13001300
</ol>
13011301
</div>
13021302

1303+
<div algorithm>
1304+
<p>To <dfn>build a content range</dfn> given an integer <var>rangeStart</var>, an integer
1305+
<var>rangeEnd</var>, and an integer <var>fullLength</var>, run these steps:
1306+
1307+
<ol>
1308+
<li><p>Let <var>contentRange</var> be `<code>bytes </code>`.
1309+
1310+
<li><p>Append <var>rangeStart</var>, <a lt="serialize an integer">serialized</a> and
1311+
<a>isomorphic encoded</a>, to <var>contentRange</var>.
1312+
1313+
<li><p>Append 0x2D (-) to <var>contentRange</var>.
1314+
1315+
<li><p>Append <var>rangeEnd</var>, <a lt="serialize an integer">serialized</a> and
1316+
<a>isomorphic encoded</a> to <var>contentRange</var>.
1317+
1318+
<li><p>Append 0x2F (/) to <var>contentRange</var>.
1319+
1320+
<li><p>Append <var>fullLength</var>, <a lt="serialize an integer">serialized</a> and
1321+
<a>isomorphic encoded</a> to <var>contentRange</var>.
1322+
1323+
<li><p>Return <var>contentRange</var>.
1324+
</ol>
1325+
</div>
1326+
13031327
<div algorithm>
13041328
<p>To <dfn id=simple-range-header-value>parse a single range header value</dfn> from a
13051329
<a>byte sequence</a> <var>value</var> and a boolean <var>allowWhitespace</var>, run these steps:
@@ -5004,21 +5028,8 @@ steps:
50045028
<li><p>Let <var>serializedSlicedLength</var> be <var>slicedBlob</var>'s {{Blob/size}},
50055029
<a lt="serialize an integer">serialized</a> and <a>isomorphic encoded</a>.
50065030

5007-
<!-- The following steps for content-range should be definined in a separate algorithm.
5008-
See https://github.com/whatwg/fetch/issues/1552 for future work -->
5009-
<li><p>Let <var>contentRange</var> be `<code>bytes </code>`.
5010-
5011-
<li><p>Append <var>rangeStart</var>, <a lt="serialize an integer">serialized</a> and
5012-
<a>isomorphic encoded</a>, to <var>contentRange</var>.
5013-
5014-
<li><p>Append 0x2D (-) to <var>contentRange</var>.
5015-
5016-
<li><p>Append <var>rangeEnd</var>, <a lt="serialize an integer">serialized</a> and
5017-
<a>isomorphic encoded</a> to <var>contentRange</var>.
5018-
5019-
<li><p>Append 0x2F (/) to <var>contentRange</var>.
5020-
5021-
<li><p>Append <var>serializedFullLength</var> to <var>contentRange</var>.
5031+
<li><p>Let <var>contentRange</var> be the result of invoking <a>build a content range</a>
5032+
given <var>rangeStart</var>, <var>rangeEnd</var>, and <var>fullLength</var>.
50225033

50235034
<li><p>Set <var>response</var>'s <a for=response>status</a> to 206.
50245035

0 commit comments

Comments
 (0)