我正在向Guzzle 6请求api。我想获取catch HTTP 1.0 401 Unauthorized
异常并在获取新令牌后重试请求。但是我在新版本的文档中找不到示例。
事件接口在旧文档中有,但没有事件接口新版本。
我正在使用代码来提出请求;
public function doSearch(Request $request)
{
$apiData = API::where('id', '1')->first(['api_url', 'api_key']);
try {
$client = new Client([
// Base URI is used with relative requests
'base_uri' => $apiData['api_url'],
'timeout' => 60,
'headers' => [
'Authorization' => 'bearer token',
'Content-Type' => 'application/x-www-form-urlencoded',
],
'verify' => false,
]);
$request = $client->request('POST', '/api/booking/ticket/search', [
'RouteType' => $request->input('type')
]);
} catch (ClientException $e) {
die((string)$e->getResponse()->getBody());
}
$code = $request->getStatusCode(); // 200
$test = $request->getBody()->getContents();
//$test = json_decode($test,true);
return view('front.searchresult');
}
我不希望捕获try-catch代码块。我应该更新我创建一个事件监听器的愿望。
如何在Guzzle 6上捕获HTTP异常并续订请求?