originMatches()

Der reine Origin-Abgleich, der der Eingabe-Prüfung des Webclient-Wires und der konfigurierten-Origin-Prüfung zugrunde liegt. Keine Seiteneffekte; einsatzbereit in Ihrer eigenen Origin-Logik.

1. Signatur

originMatches(expected: string, actual: string): boolean;

Gibt false für ein leeres expected und für "*" zurück (der wird nie akzeptiert).

2. Abgleichregeln

Fall Verhalten

File-Origin-Gruppe

Die Zeichenkette "null" (die opake Origin-Serialisierung des Desktop-App-Hosts) plus die Legacy-file:-Serialisierungen file://, file:/// und file bilden eine Gruppe; Mitglieder stimmen bidirektional überein (beliebiges Mitglied gegen beliebiges Mitglied). Eine File-Origin-Gruppe-Origin stimmt niemals mit einer Nicht-File-Origin überein und umgekehrt.

Beide sind URLs

Werden mit new URL(…​) geparst; sie stimmen überein, wenn Scheme, Host und Port alle gleich sind.

Nicht beide URLs

Rückzug: exakte Zeichenketten-Gleichheit.

3. Beispiel

originMatches('https://enaio.example.com', 'https://enaio.example.com'); // true
originMatches('https://enaio.example.com', 'https://other.example.com'); // false
originMatches('null', 'file://');   // true (gleiche Origin-Gruppe)
originMatches('file://', 'null');   // true (bidirektional)
originMatches('*', 'https://enaio.example.com'); // false — nie akzeptiert

Siehe auch WebclientWire (wo der Abgleich angewandt wird) und Origin-Konfiguration (woher der konfigurierte Wert stammt).