Enkode token diterjemahkan persis sekali dalam perjalanan hulu

FixAPIService
Dikirim
7 Agustus 2026 pukul 05.11 UTC
Penulis
Kamo
Commit
b10c950

21670e5 diarahkan SosialWebhookController melalui upstreamUri 's FULLY- PRE-ENCODED entri titik, tetapi URL adalah hibrida: 'token' adalah @ PathVariable, sehingga Spring tangan penangan nilai DECODED, ketika getQueryString () mentah. Titik masuk menyandi tidak ada, yang benar untuk setengah mentah dan salah untuk yang diterjemahkan - cermin gambar dari double-encode seluruh set perubahan ini adalah tentang. POST / api / sosial / webhook / ab% 252 Ccd tiba sebagai string ab% 2Cd, telah diteruskan Verbatim, dan MediaService diterjemahkan itu kedua kalinya ke ab, CD. Sebelum 21670e5 itu Tersandung dengan benar, jadi ini adalah regresi, bukan lubang pra-ada. Benturan langsung nol: token 32 hex chars * * * * * * * * * * * * * * * dan begitu encoding- inert, yang persis mengapa tidak ada yang menangkapnya. Kontrak terbalik meskipun, dan segmen non-hex pertama ditambahkan ke rute ini akan rusak Diam-diam. Beralih ke titik masuk hybrid, yang kode jalan sekali melalui panggilan Pembangun UriBuilder yang sama membuat dan meninggalkan permintaan tak tersentuh. Perilaku jabat tangan Meta / X tidak berubah - diverifikasi oleh empat tes yang ada, yang masih menegaskan oleh string query identik. Dua tes baru pin kontrak dengan non-hex ab% 252Ccd token, dengan dan tanpa query. Keduanya gagal terhadap titik masukan sebelumnya dengan bab% 2CCD. Juga mengoreksi dua pernyataan berlebihan dalam Javadoc UpstreamUri: - Ini diklaim hibrida bentuk PREVENTS a '#' dalam variabel jalur didekode dipotong permintaan pada fragmen. Itu bukan: * * * * * * * * * * * * * * * * * * * split pada '#' persis seperti DefaultUriBuilderFactory belakang String beban, sehingga perilaku tidak berubah baik cara. Tidak berubah adalah panggilan yang tepat pada permukaan publik, tetapi bukan perbaikan dan tidak harus membaca sebagai satu. Alasan sebenarnya titik masukan dibagi adalah encode -sekali -vs -bukan -semua Perbedaan di atas, yang sekarang apa Javadoc mengatakan. - Sebuah string query kosong (bukan null) yang digunakan untuk menghasilkan akhiran '?' dan kini menghasilkan Tidak ada. Permintaan yang sama di bawah RFC 3986; dicatat dalam sebuah komentar sehingga tidak salah untuk pengawasan nanti. Prose dan komentar hanya untuk mereka berdua - tidak ada perubahan perilaku. Suite: 45 tes, 0 kegagalan, 0 kesalahan.

Semua perubahan

Seperti apa yang Anda lihat pengiriman?

Semua pembaruan ini secara otomatis mendarat di ruang kerja Anda. Mulai bebas dan menontonnya tumbuh minggu demi minggu.

Mulai Bebas SelamanyaTampilkan Harga