code: protected function retryMiddleware()
      {
          return Middleware::retry(function (
                                            $retries,
                                            RequestInterface $request,
                                            ResponseInterface $response = null
                                         ) {
              // Limit the number of retries to 2
              if ($retries <= self::$maxRetries && $response && $body = $response->getBody()) {
                  // Retry on server errors
                  if (stripos($body, 'errcode') && (stripos($body, '40001') || stripos($body, '42001'))) {
                      $field = $this->accessToken->getQueryName();
                      $token = $this->accessToken->getToken(true);
  
                      $request = $request->withUri($newUri = Uri::withQueryValue($request->getUri(), $field, $token));
  
                      Log::debug("Retry with Request Token: {$token}");
                      Log::debug("Retry with Request Uri: {$newUri}");
  
                      return true;
                  }
              }
  
              return false;
          });
      }
docs: Return retry middleware.
  
  @return \Closure