Skip to content

Commit 606c33f

Browse files
committed
Added "dcb" and "dcz" decoding
1 parent 7d86734 commit 606c33f

File tree

1 file changed

+28
-2
lines changed

1 file changed

+28
-2
lines changed

fetch.bs

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6491,8 +6491,34 @@ optional boolean <var>forceNewConnection</var> (default false), run these steps:
64916491

64926492
<li><p><a>Combine</a> (`<code>Accept-Encoding</code>`, `<code>dcz</code>`) in <var>request</var>'s <a for=request>header list</a>.
64936493

6494-
<li><p>Return the result of running <a>HTTP-network fetch</a> given <var>fetchParams</var>,
6495-
<var>includeCredentials</var>, and <var>forceNewConnection</var>.
6494+
<li><p>Let <var>response</var> be the result of running <a>HTTP-network fetch</a> given
6495+
<var>fetchParams</var>, <var>includeCredentials</var>, and <var>forceNewConnection</var>.
6496+
6497+
<li><p>Let <var>codings</var> be the result of <a>extracting header list values</a> given
6498+
`<code>Content-Encoding</code>` and <var>response</var>'s <a for=response>header list</a>.
6499+
6500+
<li><p>If <var>codings</var> is null or does not contain `<code>dcb</code>` or `<code>dcz</code>`, then
6501+
return <var>response</var>.
6502+
6503+
<li><p>If <var>response</var>'s <a for=response>type</a> is "<code>opaque</code>", then return a
6504+
<a>network error</a>.
6505+
6506+
<li><p>Let <var>availableDictionaryHash</var> be the result of <a>getting a structured field value</a>
6507+
given `<code>Available-Dictionary</code>`, "<code>bytestring</code>", and <var>request</var>'s
6508+
<a for=request>header list</a>.
6509+
6510+
<li><p>Let <var>newBody</var> be a new <a for=/>body</a> whose <a for=body>stream</a> is the result
6511+
of transforming <var>response</var>'s <a for=response>body</a>'s <a for=body>stream</a> with an
6512+
algorithm that verifies that the dictionary hash in the stream matches
6513+
<var>availableDictionaryHash</var> and decodes the rest of the stream with the applicable
6514+
algorithm as defined in [[!HTTP-COMPRESSION-DICTIONARIES]]. If verification or decoding fails,
6515+
the transformed stream must error.
6516+
6517+
<li><p>Set <var>response</var>'s <a for=response>body</a> to <var>newBody</var>.
6518+
6519+
<li><p><a>Delete</a> `<code>Content-Encoding</code>` from <var>response</var>'s <a for=response>header list</a>.
6520+
6521+
<li><p>Return <var>response</var>.
64966522
</ol>
64976523
</div>
64986524

0 commit comments

Comments
 (0)