IntelliJ ପ୍ଲଗଇନରେ HttpConfigurable କୁ ବଦଳାଇବା
ପ୍ରକ୍ସି କନଫିଗରେସନ ପଢ଼ନ୍ତୁ, ଏଣ୍ଡପଏଣ୍ଟ ପ୍ରମାଣପତ୍ର ପାଆନ୍ତୁ ଏବଂ IntelliJ ପ୍ରକ୍ସି API ସହିତ ପ୍ଲାଟଫର୍ମ-ସଚେତନ ସଂଯୋଗ ଖୋଲନ୍ତୁ।
HttpConfigurable ର ପ୍ରତିସ୍ଥାପନ ଅନେକ API ରେ ବ୍ୟାପ୍ତ। HTTP ପ୍ରକ୍ସି ସେଟିଂସ ଯାଞ୍ଚ କରୁଥିବା ପ୍ଲଗଇନକୁ ଏହା ମାଧ୍ୟମରେ ଅନୁରୋଧ ପଠାଉଥିବା ପ୍ଲଗଇନଠାରୁ ଅଲଗା କାର୍ଯ୍ୟ ଦରକାର।
| ବର୍ତ୍ତମାନର ବ୍ୟବହାର | ମାଇଗ୍ରେସନ API |
|---|---|
| ମନୋନୀତ ପ୍ରକ୍ସି କନଫିଗରେସନ ପଢ଼ିବା | ProxySettings.getInstance().getProxyConfiguration() |
| ଜଣା ପ୍ରମାଣପତ୍ର ଆଣିବା କିମ୍ବା ବ୍ୟବହାରକାରୀଙ୍କୁ ପଚାରିବା | ProxyAuthentication |
| କନଫିଗର ହୋଇଥିବା ସ୍ଥିର ଏଣ୍ଡପଏଣ୍ଟ ପାଇଁ ପ୍ରମାଣପତ୍ର ପାଇବା | getStaticProxyCredentials, ଏକ Kotlin ବିସ୍ତାରଣ ଯାହା ProxyUtils ମାଧ୍ୟମରେ Java ପାଇଁ ଖୋଲା |
| ପ୍ଲାଟଫର୍ମର ପ୍ରକ୍ସି ଚୟନ ସହିତ URL ଖୋଲିବା | HttpConnectionUtils.openConnection(location) କିମ୍ବା openHttpConnection(location) |
2024 IntelliJ Platform ଉତ୍ସ ଦ୍ୱାରା ପ୍ରତିନିଧିତ୍ୱ ମାଇଗ୍ରେସନ API ପାଇଁ, ଏହି ନେଟୱାର୍କ ପ୍ରକାରଗୁଡ଼ିକ 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) ଏକ ଅଲଗା, ସମ୍ଭାବ୍ୟ ଅବରୋଧକ କାର୍ଯ୍ୟ। କୋଡ ମାଇଗ୍ରେଟ କରିବା ସମୟରେ ଏହି ପାର୍ଥକ୍ୟ ରଖନ୍ତୁ, ଏବଂ ପ୍ଲଗଇନର ସର୍ବନିମ୍ନ ସମର୍ଥିତ Platform SDK ବିରୁଦ୍ଧରେ API ଉପଲବ୍ଧତା ଯାଞ୍ଚ କରନ୍ତୁ।