AsyncHttpClient 2.x တွင် တိကျသော proxy ကို ပြင်ဆင်ခြင်း
client မတည်ဆောက်မီ AsyncHttpClient 2.12.4 ဖွဲ့စည်းမှုတွင် ProxyServer ကို သတ်မှတ်ပါ၊ JVM property ရှာဖွေမှုအပေါ် ရည်ရွယ်ချက်ရှိရှိ ရွေးချယ်မှုဖြင့်။
DefaultAsyncHttpClientConfig.Builder config = Dsl.config()
.setProxyServer(
new ProxyServer.Builder("proxy.example", 8080))
.setRequestTimeout(15000);
try (AsyncHttpClient client = Dsl.asyncHttpClient(config)) {
Response response = client.prepareGet("https://www.example.com/")
.execute().toCompletableFuture().join();
System.out.println(response.getStatusCode());
}
ဤသည် org.asynchttpclient 2.12.4 API ဖြစ်ပြီး ProxyServer သည် ၎င်း၏ proxy package တွင် ရှိသည်။ ဤအများပြည်သူ HTTPS ဥပမာအတွက် ကြားခံကို HTTP proxy စာရင်းမှ အထောက်အထားမရှိသော ကိုယ်စားလှယ်လောင်းဖြင့် အစားထိုးပြီး ဝက်ဘ်ဆိုက်ကို သီးခြား သတ်မှတ်ပါ။ ဖွဲ့စည်းမှုကို client မတည်ဆောက်မီ ပေးအပ်ပြီး တောင်းဆိုမှုအတွက် 15 စက္ကန့် ဘတ်ဂျက်သည် ထိုသတ်မှတ်မှု၏ အစိတ်အပိုင်းဖြစ်သည်။
ဥပမာသည် client ၏ သက်တမ်းအတွင်း future ကို စောင့်ဆိုင်းသည်။ async application သည် အစားထိုးအဖြစ် ဖွဲ့စည်းနိုင်သော်လည်း ပေးအပ်ထားသော အလုပ်ပြီးဆုံးသည်အထိ client ကို ထိန်းသိမ်းထားရမည်။
ပံ့ပိုးထားသော JVM property များသည် ရည်ရွယ်ထားသော မူဝါဒရင်းမြစ်ဖြစ်ပါက setUseProxyProperties(true) ကို ရှင်းလင်းစွာ ရွေးချယ်ပါ။ runtime တစ်ခုတွင် property ရှိနေခြင်းသည် client တိုင်း လက်ခံခဲ့သည်ဟူသော အထောက်အထား မဟုတ်ပါ။
ရှေးဟောင်း Dispatch ဥပမာများသည် com.ning ကို ပတ်ထားပြီး မတူညီသော opt-in property ကို အသုံးပြုလေ့ရှိသည်။ ထိုဖွဲ့စည်းမှုကို ဤ 2.x builder နှင့် မရောနှောဘဲ အခြေခံ client ၏ imports နှင့် API နှင့် ကိုက်ညီအောင် ချိန်ညှိပါ။