agent-receipt-verify 0.2.5 → 0.2.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -79,7 +79,18 @@ export async function meetEindpunt(url, { fetchImpl = fetch, methode = 'POST', l
|
|
|
79
79
|
// noemt in zijn Allow-kop. Noemt het er geen, dan is GET de enige redelijke tweede
|
|
80
80
|
// poging, en dat staat dan ook als gok in het bewijs. Een meter die zijn eigen
|
|
81
81
|
// aanname niet opschrijft, laat een lezer niet zien waar hij kan afwijken.
|
|
82
|
-
|
|
82
|
+
// EN EEN 404 IS DEZELFDE FOUT MET EEN ANDER NUMMER. Gemeten dezelfde dag, op een
|
|
83
|
+
// eindpunt van een DERDE: api.thaikit.dev/number-text antwoordt 402 met een geldige
|
|
84
|
+
// payment-required-kop op GET, en 404 op POST. Dat is geen afwijkend eindpunt maar
|
|
85
|
+
// het normale gedrag van veel webraamwerken, die een pad plus een niet-geregistreerde
|
|
86
|
+
// methode als "niet gevonden" behandelen in plaats van als "methode niet toegestaan".
|
|
87
|
+
// Onze meter noemde die levende, correcte verkoper daardoor niet-conform. Alleen de
|
|
88
|
+
// 405 repareren liet dus de helft van het probleem staan.
|
|
89
|
+
//
|
|
90
|
+
// De herhaling blijft bewust smal: alleen 404 en 405, alleen als wij NIET met GET
|
|
91
|
+
// sondeerden, en precies een keer. Elke 404 blind herhalen zou het verkeer naar elk
|
|
92
|
+
// dood adres verdubbelen, en dat is niet aan ons om te doen.
|
|
93
|
+
if (resp.status === 405 || resp.status === 404) {
|
|
83
94
|
const allow = resp.headers.get('allow') || resp.headers.get('Allow') || ''
|
|
84
95
|
const genoemd = allow
|
|
85
96
|
.split(',')
|
|
@@ -89,9 +100,11 @@ export async function meetEindpunt(url, { fetchImpl = fetch, methode = 'POST', l
|
|
|
89
100
|
if (tweede) {
|
|
90
101
|
r.bewijs.methode_opnieuw = {
|
|
91
102
|
eerste: methode,
|
|
92
|
-
eerste_status:
|
|
103
|
+
eerste_status: resp.status,
|
|
93
104
|
tweede,
|
|
94
|
-
bron: genoemd.length
|
|
105
|
+
bron: genoemd.length
|
|
106
|
+
? 'Allow header'
|
|
107
|
+
: 'guessed, the ' + resp.status + ' carried no Allow header',
|
|
95
108
|
}
|
|
96
109
|
resp = await vraag(tweede)
|
|
97
110
|
gebruikteMethode = tweede
|