Àrópò HttpConfigurable pín sí oríṣiríṣi API. Plugin tí ó ń yẹ àwọn ètò proxy HTTP wò nílò ìṣe tí ó yàtọ̀ sí plugin tí ó ń fi ìbéèrè ránṣẹ́ nípasẹ̀ wọn.

Ìlò lọ́wọ́lọ́wọ́API ìṣípòpadà
Ka ìṣètò proxy tí a yànProxySettings.getInstance().getProxyConfiguration()
Gba ẹ̀rí ìdánimọ̀ tí a mọ̀ tàbí béèrè lọ́wọ́ olùṣàmúlòProxyAuthentication
Gba ẹ̀rí ìdánimọ̀ fún orí-ìparí dúró ṣinṣin tí a ti ṣètògetStaticProxyCredentials, àfikún Kotlin tí a ṣí sí Java nípasẹ̀ ProxyUtils
Ṣí URL pẹ̀lú yíyàn proxy ti pẹpẹHttpConnectionUtils.openConnection(location) tàbí openHttpConnection(location)

Fún API ìṣípòpadà tí àwọn orísun IntelliJ Platform ti 2024 dúró fún, àwọn irú nẹ́tíwọ́kì wọ̀nyí wà nínú com.intellij.util.net. Fún àpẹẹrẹ, Kotlin lè yẹ ìṣètò wò kí ó sì wá ẹ̀rí ìdánimọ̀ proxy dúró ṣinṣin tí a mọ̀ láìbéèrè:

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
    )
)

Olùrànlọ́wọ́ nílò ProxyCredentialProvider; ìtọ́kasí ọ̀nà ń mú iṣẹ́ ìjẹ́rìí bá ìfaradà yẹn mu. A ń wá ẹ̀rí ìdánimọ̀ nípa host àti port ti proxy tí a ti ṣètò. Èsì null lè túmọ̀ sí pé ìṣètò kì í ṣe dúró ṣinṣin, nítorí náà kò fi hàn pé proxy tí a yàn nípasẹ̀ PAC kò nílò ìjẹ́rìí.

Nígbà tí iṣẹ́ gidi jẹ́ ṣíṣe ìbéèrè HTTP, lo olùrànlọ́wọ́ ìsopọ̀ pẹpẹ dípò títún ọ̀nà ìrìnàjò kọ́ láti àwọn pápá host àti port. Ó ń gbèrò pẹ̀lú yíyan proxy pẹpẹ fún URL àfojúsùn. Yíyí ìṣètò dúró ṣinṣin padà pẹ̀lú asJavaProxy() kò bọ̀wọ̀ fún àkọsílẹ̀ ìyọkúrò rẹ̀, kò sì ṣe ìmúṣẹ yíyàn PAC.

Tí ìjẹ́rìí ìbáraẹnisọ̀rọ̀ bá nílò, ProxyAuthentication.getPromptedAuthentication(prompt, host, port) jẹ́ ìṣe ọ̀tọ̀ tí ó lè dí. Pa ìyàtọ̀ yẹn mọ́ nígbà tí o ń ṣípòpadà kóòdù, kí o sì yẹ wíwà API wò ní ìfiwéra pẹ̀lú Platform SDK tí ó kéré jùlọ tí plugin ń ṣe àtìlẹ́yìn fún.

Àwọn àpilẹ̀kọ tó jọra