HEX
Server: LiteSpeed
System: Linux premium69.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
User: swifizcd (1555)
PHP: 8.2.30
Disabled: NONE
Upload Files
File: /home/swifizcd/buyease.com.ng/wp-content/plugins/yaysmtp/vendor_amazon/GuzzleHttp/TransferStats.php
<?php

namespace YaySMTP\Aws3\GuzzleHttp;

use YaySMTP\Aws3\Psr\Http\Message\RequestInterface;
use YaySMTP\Aws3\Psr\Http\Message\ResponseInterface;
use YaySMTP\Aws3\Psr\Http\Message\UriInterface;

/**
 * Represents data at the point after it was transferred either successfully
 * or after a network error.
 */
final class TransferStats {
  private $request;
  private $response;
  private $transferTime;
  private $handlerStats;
  private $handlerErrorData;
  /**
   * @param RequestInterface  $request          Request that was sent.
   * @param ResponseInterface $response         Response received (if any)
   * @param null              $transferTime     Total handler transfer time.
   * @param mixed             $handlerErrorData Handler error data.
   * @param array             $handlerStats     Handler specific stats.
   */
  public function __construct(\YaySMTP\Aws3\Psr\Http\Message\RequestInterface $request, \YaySMTP\Aws3\Psr\Http\Message\ResponseInterface $response = null, $transferTime = null, $handlerErrorData = null, $handlerStats = []) {
    $this->request = $request;
    $this->response = $response;
    $this->transferTime = $transferTime;
    $this->handlerErrorData = $handlerErrorData;
    $this->handlerStats = $handlerStats;
  }
  /**
   * @return RequestInterface
   */
  public function getRequest() {
    return $this->request;
  }
  /**
   * Returns the response that was received (if any).
   *
   * @return ResponseInterface|null
   */
  public function getResponse() {
    return $this->response;
  }
  /**
   * Returns true if a response was received.
   *
   * @return bool
   */
  public function hasResponse() {
    return $this->response !== null;
  }
  /**
   * Gets handler specific error data.
   *
   * This might be an exception, a integer representing an error code, or
   * anything else. Relying on this value assumes that you know what handler
   * you are using.
   *
   * @return mixed
   */
  public function getHandlerErrorData() {
    return $this->handlerErrorData;
  }
  /**
   * Get the effective URI the request was sent to.
   *
   * @return UriInterface
   */
  public function getEffectiveUri() {
    return $this->request->getUri();
  }
  /**
   * Get the estimated time the request was being transferred by the handler.
   *
   * @return float Time in seconds.
   */
  public function getTransferTime() {
    return $this->transferTime;
  }
  /**
   * Gets an array of all of the handler specific transfer data.
   *
   * @return array
   */
  public function getHandlerStats() {
    return $this->handlerStats;
  }
  /**
   * Get a specific handler statistic from the handler by name.
   *
   * @param string $stat Handler specific transfer stat to retrieve.
   *
   * @return mixed|null
   */
  public function getHandlerStat($stat) {
    return isset($this->handlerStats[$stat]) ? $this->handlerStats[$stat] : null;
  }
}