- From: Anne van Kesteren <notifications@github.com>
- Date: Tue, 28 Sep 2021 05:45:41 -0700
- To: whatwg/fetch <fetch@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
- Message-ID: <whatwg/fetch/pull/1311/review/765382152@github.com>
@annevk commented on this pull request.
Generally this seems to be heading in the right direction. Thanks for tackling this!
I haven't checked in detail whether this overlooks any network error creation.
I think the creation algorithm needs some slight tweaks.
And I think we want to change things such that processResponseDone also runs in the event of a network error.
> @@ -7417,8 +7479,14 @@ method steps are:
with <var>p</var>, <var>request</var>, and <var>responseObject</var>, and terminate these
substeps.
- <li><p>If <var>response</var> is a <a>network error</a>, then <a for=/>reject</a> <var>p</var>
- with a {{TypeError}} and terminate these substeps.
+ <li><p>If <var>response</var> is a <a>network error</a>, then:
+ <ol>
+ <li><p><a for=/>Reject</a> <var>p</var> with a {{TypeError}}.
+
+ <li><p>Call <var>handleFetchDone</var> with <var>response</var>.
+
+ <li><p>terminate these substeps.
+ </ol>
I think this is wrong. At least, in my mental model processResponseDone should run when you get a network error.
> @@ -2011,6 +2017,14 @@ known as an <dfn export id=concept-aborted-network-error>aborted network error</
<a for=response>header list</a> is always empty, and
<a for=response>body</a> is always null.
+<p>To <dfn for="network error" lt="create|creating">create</dfn> a <a>network error</a> given
+<a for=/>fetch params</a> <var>fetchParams</var>, return a new <a>network error</a> with its
+<a for=response>timing info</a> set to the result of <a>creating an opaque timing info</a> with
+<var>fetchParams</var>'s <a for="fetch params">timing info</a>, and its
+<a for=response>URL list</a> set to a <a for=/>list</a> containing <var>fetchParams</var>'s
+<a for="fetch params">request</a>'s <a for=request>URL</a>.
+
+
Nit: single newline here.
> @@ -2011,6 +2017,14 @@ known as an <dfn export id=concept-aborted-network-error>aborted network error</
<a for=response>header list</a> is always empty, and
<a for=response>body</a> is always null.
+<p>To <dfn for="network error" lt="create|creating">create</dfn> a <a>network error</a> given
+<a for=/>fetch params</a> <var>fetchParams</var>, return a new <a>network error</a> with its
+<a for=response>timing info</a> set to the result of <a>creating an opaque timing info</a> with
+<var>fetchParams</var>'s <a for="fetch params">timing info</a>, and its
+<a for=response>URL list</a> set to a <a for=/>list</a> containing <var>fetchParams</var>'s
+<a for="fetch params">request</a>'s <a for=request>URL</a>.
Nit: it seems that the network error is an argument to this algorithm currently although not an explicit one. E.g., sometimes this is passed an aborted network error rather than a network error. As such, it seems more like this algorithm initializes a network error rather than creating one.
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/whatwg/fetch/pull/1311#pullrequestreview-765382152
Received on Tuesday, 28 September 2021 12:45:53 UTC