Anstataŭigi HttpConfigurable en IntelliJ-kromaĵo
Legu la prokuran agordon, akiru legitimilojn de finpunkto kaj malfermu platformkonsciajn konektojn per la prokuraj API-oj de IntelliJ.
La anstataŭaĵo por HttpConfigurable estas disigita tra pluraj API-oj. Kromaĵo, kiu inspektas la agordojn de HTTP-prokurilo, bezonas alian operacion ol kromaĵo, kiu sendas peton tra ili.
| Nuna uzo | Migrada API |
|---|---|
| Legi la elektitan prokuran agordon | ProxySettings.getInstance().getProxyConfiguration() |
| Akiri konatajn legitimilojn aŭ demandi la uzanton | ProxyAuthentication |
| Akiri legitimilojn por la agordita statika finpunkto | getStaticProxyCredentials, Kotlin-etendaĵo montrita al Java per ProxyUtils |
| Malfermi URL per la prokura elekto de la platformo | HttpConnectionUtils.openConnection(location) aŭ openHttpConnection(location) |
Por la migrada API reprezentata de la 2024-fonto de IntelliJ Platform, tiuj retaj tipoj troviĝas en com.intellij.util.net. Ekzemple, Kotlin povas inspekti la agordon kaj serĉi konatajn legitimilojn de statika prokurilo sen prompto:
import com.intellij.util.net.ProxyAuthentication
import com.intellij.util.net.ProxyCredentialProvider
import com.intellij.util.net.ProxySettings
import com.intellij.util.net.getStaticProxyCredentials
val settings = ProxySettings.getInstance()
val configuration = settings.getProxyConfiguration()
val credentials = settings.getStaticProxyCredentials(
ProxyCredentialProvider(
ProxyAuthentication.getInstance()::getKnownAuthentication
)
)
La helpilo postulas ProxyCredentialProvider; la metoda referenco adaptas la aŭtentigan servon al tiu interfaco. Legitimiloj estas serĉataj laŭ la gastiganto kaj pordo de la agordita prokurilo. Nula rezulto povas signifi, ke la agordo ne estas statika, do ĝi ne pruvas, ke prokurilo elektita per PAC bezonas neniun aŭtentigon.
Kiam la reala tasko estas fari HTTP-peton, uzu la konekto-helpilon de la platformo anstataŭ rekonstrui la enkursigon el la kampoj de gastiganto kaj pordo. Ĝi konsultas la prokuran selektilon de la platformo por la cela URL. Konverti statikan agordon per asJavaProxy() ne respektas ĝian esceptoliston kaj ne realigas PAC-elekton.
Se interaga aŭtentigo necesas, ProxyAuthentication.getPromptedAuthentication(prompt, host, port) estas aparta, eble blokanta operacio. Konservu tiun distingon dum migrado de kodo, kaj kontrolu API-disponeblecon rilate al la minimuma subtenata Platform SDK de la kromaĵo.