@@ -2743,6 +2743,26 @@ functionality.
2743
2743
<a for=/>network partition key</a> <var> key</var> and an <a for=/>origin</a> <var> origin</var> :
2744
2744
<!-- Should we assert the scheme here to be an HTTP(S) scheme or a WebRTC scheme? -->
2745
2745
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
+
2746
2766
<ol>
2747
2767
<li><p> If <var> origin</var> 's <a for=origin>host</a> is an <a for=/>IP address</a> , then return
2748
2768
« <var> origin</var> 's <a for=origin>host</a> ».
@@ -2753,7 +2773,8 @@ functionality.
2753
2773
2754
2774
<li>
2755
2775
<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.
2757
2778
2758
2779
<p> It is also <a>implementation-defined</a> whether other operations might be performed to get
2759
2780
connection information beyond just <a for=/>IP addresses</a> . For example, if <var> origin</var> 's
@@ -2767,16 +2788,13 @@ functionality.
2767
2788
<li><p> Return failure.
2768
2789
</ol>
2769
2790
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
-
2773
2791
<div class=note>
2774
2792
<p> Typically this operation would involve DNS and as such caching can happen on DNS servers without
2775
2793
<var> key</var> being taken into account. Depending on the implementation it might also not be
2776
2794
possible to take <var> key</var> into account locally. [[RFC1035]]
2777
2795
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.
2780
2798
2781
2799
<p> The particulars (apart from the cache key) are not tied down as they are not pertinent to the
2782
2800
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
9015
9033
<p> Thanks to
9016
9034
Adam Barth,
9017
9035
Adam Lavin,
9036
+ Alain Emilia Anna Zscheile<!-- fogti; GitHub -->,
9018
9037
Alan Jeffrey,
9019
9038
Alexey Proskuryakov,
9020
9039
Andreas Kling,
@@ -9026,7 +9045,7 @@ Arkadiusz Michalski,
9026
9045
Arne Johannessen,
9027
9046
Artem Skoretskiy,
9028
9047
Arthur Barstow,
9029
- Arthur Sonzogni, <!-- ArthurSonzogni; GitHub -->
9048
+ Arthur Sonzogni<!-- ArthurSonzogni; GitHub -->,
9030
9049
Asanka Herath,
9031
9050
Axel Rauschmayer,
9032
9051
Ben Kelly,
0 commit comments