Re: [whatwg/fetch] Attach timing info and URL to network errors, and report for fetch API (#1311)

@annevk commented on this pull request.

As I tried to point out, this doesn't prevent "finalize response" from being invoked and running "process response done" again. So you need to early exit for network errors there I think.

I also think we want to do something similar for "process response end-of-body". Where we check if the response's body is null, we should also check if it's a network error and do the same thing.

> @@ -4103,6 +4103,23 @@ steps:
    <var>processBody</var>, <var>processBodyError</var>, and <var>fetchParams</var>'s
    <a for="fetch params">task destination</a>.
   </ol>
+
+ <li><p>If <var>fetchParams</var>'s <a for="fetch params">process response done</a> is non-null, and

Nit: li has multiple children so p needs to be on a newline and indented. ol below also needs indentation.

> @@ -4103,6 +4103,23 @@ steps:
    <var>processBody</var>, <var>processBodyError</var>, and <var>fetchParams</var>'s
    <a for="fetch params">task destination</a>.
   </ol>
+
+ <li><p>If <var>fetchParams</var>'s <a for="fetch params">process response done</a> is non-null, and
+ <var>response</var> is a <a>network error</a>, then:
+
+ <ol>
+  <li><p>Set <var>response</var>'s <a for=response>URL list</a> to a <a for=/>list</a> containing
+  <var>fetchParams</var>'s <a for="fetch params">request</a>'s <a for=request>URL</a>.
+
+  <li><p>Set <var>response</var>'s <a for=response>timing info</a> to the result of
+  <a>creating an opaque timing info</a> for <var>fetchParams</var>'s
+  <a for="fetch params">timing info</a>.

This would mean that only a network error through this callback is initialized this way. I think we want to do this at the top of "fetch finale".

-- 
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-767783239

Received on Thursday, 30 September 2021 12:27:35 UTC