@@ -2743,6 +2743,26 @@ functionality.
27432743<a for=/>network partition key</a> <var> key</var> and an <a for=/>origin</a> <var> origin</var> :
27442744<!-- Should we assert the scheme here to be an HTTP(S) scheme or a WebRTC scheme? -->
27452745
2746+ <ol>
2747+ <li><p> Let <var> ipAddresses</var> be the result of running <a>resolve an origin internal</a> given
2748+ <var> key</var> and <var> origin</var> .
2749+
2750+ <li><p> If <var> ipAddresses</var> is failure, then return failure.
2751+
2752+ <li><p> If <var> ipAddresses</var> <a for=set>contains</a> <code> ::</code> or <code> 0.0.0.0</code> ,
2753+ then return failure.
2754+
2755+ <li><p> Return <var> ipAddresses</var> .
2756+ </ol>
2757+
2758+ <p> The results of <a>resolve an origin</a> may be cached. If they are cached, <var> key</var> should
2759+ be used as part of the cache key.
2760+ </div>
2761+
2762+ <div>
2763+ <p> The <dfn>resolve an origin internal</dfn> algorithm, given a <a for=/>network partition key</a>
2764+ <var> key</var> and an <a for=/>origin</a> <var> origin</var> , runs these steps:
2765+
27462766<ol>
27472767 <li><p> If <var> origin</var> 's <a for=origin>host</a> is an <a for=/>IP address</a> , then return
27482768 « <var> origin</var> 's <a for=origin>host</a> ».
@@ -2753,7 +2773,8 @@ functionality.
27532773
27542774 <li>
27552775 <p> Perform an <a>implementation-defined</a> operation to turn <var> origin</var> into a
2756- <a for=/>set</a> of one or more <a for=/>IP addresses</a> .
2776+ <a for=/>set</a> of one or more <a for=/>IP addresses</a> , taking <var> key</var> into account as
2777+ appropriate.
27572778
27582779 <p> It is also <a>implementation-defined</a> whether other operations might be performed to get
27592780 connection information beyond just <a for=/>IP addresses</a> . For example, if <var> origin</var> 's
@@ -2767,16 +2788,13 @@ functionality.
27672788 <li><p> Return failure.
27682789</ol>
27692790
2770- <p> The results of <a>resolve an origin</a> may be cached. If they are cached, <var> key</var> should
2771- be used as part of the cache key.
2772-
27732791<div class=note>
27742792 <p> Typically this operation would involve DNS and as such caching can happen on DNS servers without
27752793 <var> key</var> being taken into account. Depending on the implementation it might also not be
27762794 possible to take <var> key</var> into account locally. [[RFC1035]]
27772795
2778- <p> The order of the <a for=/>IP addresses</a> that the <a>resolve an origin</a> algorithm can return
2779- can differ between invocations.
2796+ <p> The order of the <a for=/>IP addresses</a> that the <a>resolve an origin internal </a> algorithm
2797+ can return can differ between invocations.
27802798
27812799 <p> The particulars (apart from the cache key) are not tied down as they are not pertinent to the
27822800 system the Fetch Standard establishes. Other documents ought not to build on this primitive without
@@ -9015,6 +9033,7 @@ done only by navigations). The <a>fetch controller</a> is also used to
90159033<p> Thanks to
90169034Adam Barth,
90179035Adam Lavin,
9036+ Alain Emilia Anna Zscheile<!-- fogti; GitHub -->,
90189037Alan Jeffrey,
90199038Alexey Proskuryakov,
90209039Andreas Kling,
@@ -9026,7 +9045,7 @@ Arkadiusz Michalski,
90269045Arne Johannessen,
90279046Artem Skoretskiy,
90289047Arthur Barstow,
9029- Arthur Sonzogni, <!-- ArthurSonzogni; GitHub -->
9048+ Arthur Sonzogni<!-- ArthurSonzogni; GitHub -->,
90309049Asanka Herath,
90319050Axel Rauschmayer,
90329051Ben Kelly,
0 commit comments