$http = new \GuzzleHttp\Client([
    'proxy' => 'http://proxy.example:8080',
]);

$builder->setHttpClient($http);
$elasticsearch = $builder->build();

$builder သည် ရည်ရွယ်ထားသော cluster hosts နှင့် authentication ပါသော လက်ရှိ Elastic\Elasticsearch\ClientBuilder ဖြစ်သည်။ ထို hosts များသည် ဦးတည်ရာများအဖြစ် ကျန်ရှိသည်။ ထည့်သွင်းထားသော HTTP client သည် ၎င်းတို့၏ ကြားခံကို ရွေးချယ်ပြီး cluster သို့ အများသူငှာ လမ်းကြောင်း ခွင့်ပြုထားသောအခါ HTTP proxy စာရင်းမှ HTTP ကိုယ်စားလှယ်လောင်းကို အသုံးပြုသည်။

မှတ်တမ်းတင်ထားသော မူရင်း Guzzle သယ်ယူမှုဖြင့် setHttpClientOptions သည် proxy ရွေးချယ်မှုကိုလည်း လက်ခံသည်။ ပေးထားသော အခြား PSR-18 အကောင်အထည်ဖော်မှုသည် ၎င်း၏ ကိုယ်ပိုင် ပြင်ဆင်မှု လိုအပ်သည်။ Guzzle ရွေးချယ်မှု အမည်များသည် အကောင်အထည်ဖော်မှုတိုင်း မျှဝေသော interface မဟုတ်ပါ။

ထပ်ဆင့် cURL ရွေးချယ်မှုများပါသော setConnectionParams သည် ပိုဟောင်းသော သယ်ယူမှု မျိုးဆက်ဖြစ်သည်။ အမှန်တကယ် တည်ဆောက်ထားသော class က ပေးသော input ကို အသုံးပြုပါ။

ပြင်ဆင်ထားသော client ကို ၎င်း၏ အလုပ်ဝန်အတွက် ပြန်လည် အသုံးပြုပါ။ proxy အထောက်အထားများကို ကြားခံတွင်၊ API key ကို Elasticsearch တွင် ထားပြီး 407 ကို cluster ၏ ခွင့်ပြုချက် တုံ့ပြန်မှုနှင့် သီးခြား ထိန်းသိမ်းပါ။

ဆက်စပ်ဆောင်းပါးများ