- From: Anne van Kesteren <notifications@github.com>
- Date: Mon, 28 Feb 2022 06:25:47 -0800
- To: whatwg/fetch <fetch@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
- Message-ID: <whatwg/fetch/pull/1404/review/895138139@github.com>
@annevk commented on this pull request. Overall this looks reasonable to me. I have some nits and questions, and I might have some further editorial suggestions that I can also make in a fixup commit once everyone is aligned on the approach. > @@ -5460,22 +5467,55 @@ optional boolean <var>forceNewConnection</var> (default false), run these steps: <a for=request>body</a> cannot be recreated and that is why the buffer is needed. </div> - <li><p>Set <var>timingInfo</var>'s - <a for="fetch timing info">final network-response start time</a> to the - <a for=/>coarsened shared current time</a> given <var>fetchParams</var>'s - <a for="fetch params">cross-origin isolated capability</a>, immediately after the user agent's - HTTP parser receives the first byte of the response (e.g., frame header bytes for HTTP/2 or - response status line for HTTP/1.x). - - <li><p>Wait until all the <a for=/>headers</a> are transmitted. + <li><p>Let <var>responseStartTime</var> be null. Do we need this variable or can we check if the fetch timing info field is 0? > + + <li><p>If <var>status</var> is 103, then: + <ol> + <li><p>If <var>fetchParams</var>'s <a for="fetch params">process early hints response</a> + is non-null, then: + <ol> + <li><p><a for=/>Assert</a>: <var>request</var>'s <a for=request>mode</a> is + "<code>navigate</code>". + + <p class="note nobackref">The following step might trigger other fetches. The assertion + is to avoid potential CORS breakage. + + <li><p><a>Queue a fetch task</a> to run <var>fetchParams</var>'s + <a for="fetch params">process early hints response</a>, with <a for=/>headers</a>. + </ol> + <li><p><a for=iteration>Continue</a>. This isn't needed if you drop "Otherwise" from the next continue. > - <p class="note no-backref">These kind of <a for=/>responses</a> are eventually followed by a - "final" <a for=/>response</a>. + <li><p>Let <var>status</var> be <a for=response>status</a> of <a for=/>response</a>. + + <li><p>If <var>status</var> is in the range 100 to 199, inclusive: + <ol> + <li><p>If <var>status</var> is 101, <a for=iteration>break</a>. + + <li><p>If <var>status</var> is 103, then: I suggest merging this conditional with the non-null check for process early hints response. > - "final" <a for=/>response</a>. + <li><p>Let <var>status</var> be <a for=response>status</a> of <a for=/>response</a>. + + <li><p>If <var>status</var> is in the range 100 to 199, inclusive: + <ol> + <li><p>If <var>status</var> is 101, <a for=iteration>break</a>. + + <li><p>If <var>status</var> is 103, then: + <ol> + <li><p>If <var>fetchParams</var>'s <a for="fetch params">process early hints response</a> + is non-null, then: + <ol> + <li><p><a for=/>Assert</a>: <var>request</var>'s <a for=request>mode</a> is + "<code>navigate</code>". + + <p class="note nobackref">The following step might trigger other fetches. The assertion ```suggestion <p class=note>The following step might trigger other fetches. The assertion ``` > + + <li><p>If <var>responseStartTime</var> is null, set <var>responseStartTime</var> to + <a for=/>coarsened shared current time</a> given <var>fetchParams</var>'s + <a for="fetch params">cross-origin isolated capability</a>, immediately after the user + agent's HTTP parser receives the first byte of the response (e.g., frame header bytes for + HTTP/2 or response status line for HTTP/1.x). + + <li><p>Let <var>status</var> be <a for=response>status</a> of <a for=/>response</a>. + + <li><p>If <var>status</var> is in the range 100 to 199, inclusive: + <ol> + <li><p>If <var>status</var> is 101, <a for=iteration>break</a>. + + <li><p>If <var>status</var> is 103, then: + <ol> + <li><p>If <var>fetchParams</var>'s <a for="fetch params">process early hints response</a> As in it would bypass the same-origin policy? Presumably the 103 could come with CORS headers in theory? -- Reply to this email directly or view it on GitHub: https://github.com/whatwg/fetch/pull/1404#pullrequestreview-895138139 You are receiving this because you are subscribed to this thread. Message ID: <whatwg/fetch/pull/1404/review/895138139@github.com>
Received on Monday, 28 February 2022 14:26:00 UTC