په google/cloud-bigquery 1.39.3 کې د REST سپارلو او token غوښتنې hookونه کولای شي یو proxy پوه PSR غوښتنې handler شریک کړي:

$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 په هرې غوښتنې کې د Guzzle proxy انتخاب ټاکي، چې له HTTP proxy لیست څخه ټاکل شوی عامه HTTP endpoint هم پکې شامل دی، او constructor هغه callable httpHandler او authHttpHandler دواړو ته ورکوي. دا REST سپارل او هغه غوښتنې پوښي چې دې hook څخه کار اخلي. ملاتړ شوې credential ترتیبه وساتئ؛ بل transport لرونکې credential ته اړینه ده چې هغه transport هم وڅیړل شي.

اړینې مستقیمې استثناوې د Guzzle د ملاتړ شوې proxy ترتیب له لارې اضافه کړئ. BigQuery API endpoint د خدمت د منزل په توګه وساتئ: په apiEndpoint کې د proxy پته ایښودل دې لارې ته د ترتیب ورکولو پر ځای بله خدمت ټاکي.

دا د BigQueryClient د constructor انتخابونه دي. دوی نه خپلواک gRPC چینل ترتیبوي او نه په جلا Google API PHP Client کتابخانه کې د Google\Client د setHttpClient انټرفیس سره سمون لري.

اړوندې مقالې