code: private function requestFailedException(
          string $message,
          string $uri,
          ResponseInterface $response = null
      ): RequestFailedException {
          $this->gone = true;
          if ($response) {
              if (!$response->getBody()->getSize()) {
                  return new RequestFailedException(
                      sprintf(
                          "Error %s at %s returned an invalid response: %s [Error: %s]",
                          $message,
                          $uri,
                          $response->getStatusCode(),
                          $response->getBody()->getContents()
                      )
                  );
              }
  
              return new RequestFailedException(
                  sprintf(
                      "Error %s at %s returned %s: %s",
                      $message,
                      $uri,
                      $response->getStatusCode(),
                      $response->getBody()->getContents()
                  )
              );
          }
  
          return new RequestFailedException('server error.');
      }
docs: @param string                 $message
  @param string                 $uri
  @param ResponseInterface|null $response
  
  @return RequestFailedException