มอบ proxy handler ให้ hook REST และ auth ของ BigQuery PHP
สำหรับ google/cloud-bigquery 1.39.3 ให้ส่ง callable ตัวเดียวกันไปยัง httpHandler และ authHttpHandler เมื่อทั้งสองเส้นทางต้องใช้ตัวกลาง
hook สำหรับการส่งมอบ REST และการขอ token ใน google/cloud-bigquery 1.39.3 สามารถใช้ PSR request handler ที่รู้จัก proxy ร่วมกันได้:
$proxy = 'http://proxy.example:8080';
$http = new \GuzzleHttp\Client();
$send = static function (
\Psr\Http\Message\RequestInterface $request,
array $options = []
) use ($http, $proxy) {
$options['proxy'] = $proxy;
return $http->send($request, $options);
};
$bigQuery = new \Google\Cloud\BigQuery\BigQueryClient([
'projectId' => $projectId,
'httpHandler' => $send,
'authHttpHandler' => $send,
]);callable กำหนดตัวเลือก proxy ของ Guzzle ในทุกคำขอ รวมถึง HTTP endpoint สาธารณะที่เลือกจากรายการ proxy HTTP และ constructor ส่ง callable นั้นให้ทั้ง httpHandler และ authHttpHandler ซึ่งครอบคลุมการส่งมอบ REST และคำขอตรวจสอบสิทธิ์ที่ใช้ hook นี้ เก็บการตั้งค่า credential ที่รองรับไว้ เพราะ credential ที่ใช้ transport อื่นต้องตรวจสอบ transport นั้นด้วย
เพิ่มข้อยกเว้นโดยตรงที่จำเป็นผ่านการกำหนดค่า proxy ที่ Guzzle รองรับ คง endpoint ของ BigQuery API ไว้เป็นปลายทางของบริการ การใส่ที่อยู่ proxy ใน apiEndpoint จะเลือกบริการอื่นแทนการกำหนดค่าเส้นทางนี้
สิ่งเหล่านี้เป็นตัวเลือก constructor ของ BigQueryClient ไม่ได้กำหนดค่า channel gRPC แยกต่างหาก และไม่ทำให้ Google\Client สอดคล้องกับอินเทอร์เฟซ setHttpClient ในไลบรารี Google API PHP Client แยกต่างหาก