blob: 30a3f9469161be2567ee9aedc9a4a78aa9df9fb8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
|
<?php
namespace GuzzleHttp;
use GuzzleHttp\Message\RequestInterface;
use GuzzleHttp\Message\ResponseInterface;
/**
* Represents the relationship between a client, request, and response.
*
* You can access the request, response, and client using their corresponding
* public properties.
*/
class Transaction
{
/**
* HTTP client used to transfer the request.
*
* @var ClientInterface
*/
public $client;
/**
* The request that is being sent.
*
* @var RequestInterface
*/
public $request;
/**
* The response associated with the transaction. A response will not be
* present when a networking error occurs or an error occurs before sending
* the request.
*
* @var ResponseInterface|null
*/
public $response;
/**
* Exception associated with the transaction. If this exception is present
* when processing synchronous or future commands, then it is thrown. When
* intercepting a failed transaction, you MUST set this value to null in
* order to prevent the exception from being thrown.
*
* @var \Exception
*/
public $exception;
/**
* Associative array of handler specific transfer statistics and custom
* key value pair information. When providing similar information, handlers
* should follow the same key value pair naming conventions as PHP's
* curl_getinfo() (http://php.net/manual/en/function.curl-getinfo.php).
*
* @var array
*/
public $transferInfo = [];
/**
* The number of transaction retries.
*
* @var int
*/
public $retries = 0;
/**
* The transaction's current state.
*
* @var string
*/
public $state;
/**
* Whether or not this is a future transaction. This value should not be
* changed after the future is constructed.
*
* @var bool
*/
public $future;
/**
* The number of state transitions that this transaction has been through.
*
* @var int
* @internal This is for internal use only. If you modify this, then you
* are asking for trouble.
*/
public $_transitionCount = 0;
/**
* @param ClientInterface $client Client that is used to send the requests
* @param RequestInterface $request Request to send
* @param bool $future Whether or not this is a future request.
*/
public function __construct(
ClientInterface $client,
RequestInterface $request,
$future = false
) {
$this->client = $client;
$this->request = $request;
$this->_future = $future;
}
}
|