Source of file Transaction.php

Size: 1,863 Bytes - Last Modified: 2019-08-09T18:27:54+00:00

/home/travis/build/zerospam/sdk-framework/tests/src/Base/Container/Transaction.php

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
<?php
/**
 * Created by PhpStorm.
 * User: aaflalo
 * Date: 18-06-01
 * Time: 13:53.
 */

namespace ZEROSPAM\Framework\SDK\Test\Base\Container;

use GuzzleHttp\Exception\GuzzleException;
use Psr\Http\Message\RequestInterface;
use Psr\Http\Message\ResponseInterface;

/**
 * Class Transaction
 *
 * History of mockup transaction
 *
 * @package ZEROSPAM\Framework\SDK\Test\Base\Container
 */
class Transaction
{
    /**
     * @var RequestInterface
     */
    private $request;

    /**
     * @var ResponseInterface|null
     */
    private $response;

    /**
     * @var array
     */
    private $options;
    /**
     * @var GuzzleException|null
     */
    private $error;

    /**
     * Transaction constructor.
     *
     * @param RequestInterface  $request
     * @param array             $options
     * @param ResponseInterface $response
     * @param GuzzleException   $error
     */
    public function __construct(
        RequestInterface $request,
        array $options,
        ResponseInterface $response = null,
        GuzzleException $error = null
    ) {
        $this->request  = $request;
        $this->response = $response;
        $this->options  = $options;
        $this->error    = $error;
    }

    /**
     * Getter for request.
     *
     * @return RequestInterface
     */
    public function request()
    {
        return $this->request;
    }

    /**
     * Getter for response.
     *
     * @return ResponseInterface|null
     */
    public function response()
    {
        return $this->response;
    }

    /**
     * Getter for options.
     *
     * @return array
     */
    public function options()
    {
        return $this->options;
    }

    /**
     * If an exception got triggered.
     *
     * @return GuzzleException|null
     */
    public function error()
    {
        return $this->error;
    }
}