Halaman uji PAC buatan sendiri punya dua kotak berlabel Host dan URL. Tombol mengirim nilai keduanya dalam urutan itu. Sayangnya, fungsi PAC mengharapkan urutan sebaliknya.

FindProxyForURL(url, host)

Untuk satu contoh tujuan, panggilannya seharusnya seperti ini:

FindProxyForURL("https://status.office.example/", "status.office.example")

Argumen kedua adalah nama host, tanpa skema, jalur, atau port. Aturan yang membandingkan host dengan nama yang dikenal tidak akan cocok ketika harness uji memberikan URL lengkap di sana.

Kedua masukan adalah string, jadi JavaScript tidak perlu melempar galat. Skrip dapat diam-diam mencapai return terakhirnya dan menampilkan proxy yang tampak masuk akal. Karena itu, bug ini sangat mudah disalahartikan sebagai aturan domain yang buruk.

Periksa panggilannya sebelum aturannya

Baca pemanggilan fungsi di harness uji dan periksa kedua nilai di batas itu. Lalu bandingkan pengecualian host persis yang dikenal dengan host tak terkait yang seharusnya memakai rute default. Jangan mulai memperlebar pengecualian sampai ia cocok dengan masukan yang cacat.

Panggilan yang diperbaiki masih menyisakan lingkungan pembantu evaluator untuk dipertimbangkan. myIpAddress() yang dipatok atau pembantu DNS yang hilang bukanlah keadaan jaringan nyata peramban. Pertahankan itu sebagai pertanyaan terpisah. Perbaikan langsungnya adalah kontrak parameter; perbaikan berikutnya, bila perlu, adalah membuat lingkungan uji mewakili konsumen yang dimaksud.

Artikel terkait