- Verschifft
- 7. August 2026 um 02:41 UTC
- Autor
- kamo
- Ausschuss
- 80bc041
Eröffnung ************ fehlerbehaftet mit "Unbekannter Status: ************ für jedes Mitglied. listMyAssignments hat den ganzen Eimer als einen CSV-Wert gesendet. Ein Komma in einer Anfrage VALUE muss als %2C reisen, und APIService - das gemeinsame Gateway jeder /api/docs/** Call crosses - veredet die bereits codierte URI und Abfragen in eine schlicht String und reicht diesen String an RestTemplate.exchange. RestTemplate behandelt eine String URL als URI TEMPLATE und prozentiert es eine ZWEITE Zeit: %2C wurde %252C. DocsService einmal dekodiert, hat die buchstabale %2C zurück, und ParseStatuses geteilt auf einem Komma, das nicht mehr da war - so dass der gesamte Eimer Wert Ausfall als ein Run-together Token. Das Tor wird absichtlich NICHT berührt. Es trägt /api/docs/**, /api/security/** und jeder andere Dienst; die Änderung der Kodierung würde sich ändern Semantik für jeden Anrufer auf der Plattform auf einmal, und Anrufer, die roh passieren Reservierte Charaktere überleben nur wegen dieser Re-encode. Geschrieben für Planung in ************ (gitignored). Der reservierte Charakter kommt stattdessen vom Kabel: - statusCsvFor -- statusesFor, den String[] anstatt eines beigefügten CSV zurückzugeben. Die CSV-Form hatte genau einen Anrufer, so dass beide Formen nicht wert waren. - liste MyAssignments an einen "status" param pro Wert an. A CSV String übergeben von jedem zukünftigen Anrufer ist SPLIT hier, anstatt durchgegangen, so dass die alte Form kann nicht still zurückkommen. Statusnamen sind [A-Z_] nur, was die Gateways zweites kodiert ein No-Op auf sie. - Der Vertrag der Proxy-Route ist ausbuchstabiert: mergeForwardedQuery anbringt Paar von Paar, so Wiederholungen überleben, und es darf nie kollabieren sie wieder in eine CSV. apiProxyQuery.test.ts jetzt Pins, dass es Tasten statt Paare iterieren würde still und leise wieder diese Seite breche. Tests behaupten die URL, die tatsächlich verlässt den Browser: wiederholte Params, keine '%' überall in der Abfrage, eine CSV-Split statt weitergeleitet, der Single-Status EXECUTION_INCOMPLETE Sonde unverändert, leere Token fallen gelassen, und jeder Status dieses App kann überleben eine Rundreise senden. DocsService akzeptiert beide Formen durch eine parseStatuses-Regel (siehe die passende Übergabe), also gekreuzte URLs und das HR-Raster status=EXECUTED sind nicht betroffen. tsc --noEmit clean; 873 Tests, 0 Ausfälle; nächster Build gelingt.