Замена на HttpConfigurable во додаток за IntelliJ
Прочитајте ја конфигурацијата на прокси, добијте акредитиви за крајната точка и отворете врски прилагодени на платформата со прокси API-јата на IntelliJ.
Заменикот на HttpConfigurable е распределен низ неколку API-ја. Додаток што ги прегледува поставките за HTTP прокси бара поинаква операција од додаток што испраќа барање преку нив.
| Тековна употреба | API за миграција |
|---|---|
| Читање на избраната конфигурација на прокси | ProxySettings.getInstance().getProxyConfiguration() |
| Преземање на познати акредитиви или прашување на корисникот | ProxyAuthentication |
| Добивање акредитиви за конфигурираната статична крајна точка | getStaticProxyCredentials, Kotlin проширување достапно за Java преку ProxyUtils |
| Отворање URL со изборот на прокси на платформата | HttpConnectionUtils.openConnection(location) или openHttpConnection(location) |
За API-то за миграција што го претставуваат изворите на IntelliJ Platform од 2024 година, овие мрежни типови се наоѓаат во com.intellij.util.net. На пример, Kotlin може да ја прегледа конфигурацијата и да ги побара познатите акредитиви за статично прокси без барање:
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
)
)
Помошникот бара ProxyCredentialProvider; референцата на методот го прилагодува сервисот за автентикација на тој интерфејс. Акредитивите се бараат според домаќинот и портата на конфигурираното прокси. null резултат може да значи дека конфигурацијата не е статична, па затоа не докажува дека прокси избрано преку PAC не бара автентикација.
Кога вистинската задача е испраќање HTTP барање, користете го помошникот за врска на платформата наместо повторно да го градите рутирањето од полињата за домаќин и порта. Тој го прашува избирачот на прокси на платформата за целниот URL. Претворањето на статична конфигурација со asJavaProxy() не ја почитува нејзината листа на исклучоци и не имплементира избор преку PAC.
Ако е потребна интерактивна автентикација, ProxyAuthentication.getPromptedAuthentication(prompt, host, port) е одделна, потенцијално блокирачка операција. Задржете ја таа разлика при миграција на код и проверете ја достапноста на API-то во однос на минималниот поддржан Platform SDK на додатокот.