Senden Sie den Timeline-Provider-Filter als wiederholte Params, nicht als CSV

Fixkamo-internal
Verschifft
7. August 2026 um 04:07 UTC
Autor
kamo
Ausschuss
f9272ff

socialTimelineApi.timeline setzt Anbieter zu einem beigetretenen CSV. Ein Komma in einer Abfrage WERT reist als %2C, und jeder Hop, der wieder codiert, macht das zu %252C . APIService hat genau dies getan und seine Vorwärts-URL an RestTemplate als eine String, das es wie ein URI TEMPLATE behandelt und ein zweites Mal kodiert. MediaService dekodiert einmal und sieht das einzelne Run-together-Token "facebook%2Cx", das übereinstimmt keinen Provider-Code, also hat ein Multiprovider-Filter einen leeren Feed zurückgegeben. Auswahl ein Chip oder keiner ist ein Fixpunkt, weshalb niemand darüber berichtet hat. Der eigene Doppel-Encode des Gateways wird in APIServices Matching Commit und der Social Timeline Proxy erreicht MediaService direkt auf 8443 statt durch dieses Gateway - aber der Client sollte sich nicht auf das Codierungsverhalten eines Hop verlassen, und wiederholte Params sind die korrekte Drahtform. - Timeline fügt sich pro ausgewähltem Chip ein "Provider" an. A CSV übergeben von jeder zukünftige Anrufer ist SPLIT hier, anstatt durchgegangen, so dass die alte Form kann nicht still zurückkommen, und leere Token werden fallen gelassen, anstatt zu senden "Anbieter=". - Der Vertrag der Proxy-Route ist ausbuchstabiert: forwardToMediaService gibt das Rohmaterial Suche String durch wörtlich, so dass jedes Ereignis überlebt, und es darf nie zurück in einen CSV zusammengekliedert werden. Tests behaupten die URL, die tatsächlich verlässt den Browser: wiederholte Params, keine '%' und nein '', irgendwo in der Abfrage, eine CSV-Split statt weitergeleitet, die Single-Provider-Anfrage unverändert, und Anbieter ganz weggelassen, wenn kein Chip ist ausgewählt. MediaService akzeptiert beide Formen durch eine Parsing-Regel (siehe Matching Commit), so dass zwischengeknete und mitgemerkte CSV-URLs nicht betroffen sind. tsc --noEmit clean; 879 Tests, 0 Ausfälle; Next Build gelingt.

Alle Änderungen

Wie, was Sie sehen Versand?

Jedes dieser Updates landet automatisch in Ihrem Arbeitsbereich. Starten Sie frei und beobachten Sie es Woche für Woche wachsen.

Free Forever startenPreisgestaltung anzeigen