HttpConfigurable-ის ჩანაცვლება IntelliJ-ის დანამატში
წაიკითხეთ პროქსის კონფიგურაცია, მიიღეთ საბოლოო წერტილის სერტიფიკატები და გახსენით პლატფორმის შესაბამისი კავშირები IntelliJ-ის პროქსის API-ებით.
HttpConfigurable-ის შემცვლელი რამდენიმე API-ზეა განაწილებული. დანამატს, რომელიც HTTP პროქსის პარამეტრებს ამოწმებს, სხვა ოპერაცია სჭირდება, ვიდრე დანამატს, რომელიც მათით მოთხოვნას აგზავნის.
| არსებული გამოყენება | მიგრაციის API |
|---|---|
| არჩეული პროქსის კონფიგურაციის წაკითხვა | ProxySettings.getInstance().getProxyConfiguration() |
| ცნობილი სერტიფიკატების მიღება ან მომხმარებლისთვის კითხვა | ProxyAuthentication |
| კონფიგურირებული სტატიკური საბოლოო წერტილის სერტიფიკატების მიღება | getStaticProxyCredentials, Kotlin-ის გაფართოება, რომელიც Java-სთვის ხელმისაწვდომია ProxyUtils-ის მეშვეობით |
| 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) ცალკე, შესაძლოა დამბლოკავი ოპერაციაა. შეინარჩუნეთ ეს განსხვავება კოდის მიგრაციისას და შეამოწმეთ API-ის ხელმისაწვდომობა დანამატის მინიმალურ მხარდაჭერილ Platform SDK-სთან.