Guzzle是一个PHP的HTTP客户端,可以发送同步或异步的请求,中间件系统允许你创建构成客户端行为。
在网络不稳定或者其他一些原因导致会偶现请求失败的情况,所以就需要根据一定规则进行请求重试
而本文中请求重试就是利用中间件系统实现的。
使用php的trait特性
use GuzzleHttp\Client;
use GuzzleHttp\Psr7\Request;
use GuzzleHttp\Psr7\Response;
use GuzzleHttp\Exception\RequestException;
use GuzzleHttp\HandlerStack;
use GuzzleHttp\Handler\CurlHandler;
use GuzzleHttp\Middleware;
trait TraitGuzzleRetry
{
/**
* @var int 最大重试次数
*/
private $maxRetries = 3;
/**
* @var Client
*/
private $client;
/**
* 功 能:设置最大重试次数
* 修改日期:2020/4/20
*
* @param int $maxRetries 最大重试次数
* @return $this
*/
public function setMaxRetries(int $maxRetries