Completed
Push — master ( 81150b...194baa )
by Eric
02:26
created

src/Event/MultiRequestSentEvent.php (1 issue)

Upgrade to new PHP Analysis Engine

These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more

1
<?php
2
3
/*
4
 * This file is part of the Ivory Http Adapter package.
5
 *
6
 * (c) Eric GELOEN <[email protected]>
7
 *
8
 * For the full copyright and license information, please read the LICENSE
9
 * file that was distributed with this source code.
10
 */
11
12
namespace Ivory\HttpAdapter\Event;
13
14
use Ivory\HttpAdapter\HttpAdapterException;
15
use Ivory\HttpAdapter\HttpAdapterInterface;
16
use Ivory\HttpAdapter\Message\ResponseInterface;
17
18
/**
19
 * Multi request sent event.
20
 *
21
 * @author GeLo <[email protected]>
22
 */
23 View Code Duplication
class MultiRequestSentEvent extends AbstractEvent
0 ignored issues
show
This class seems to be duplicated in your project.

Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.

You can also find more detailed suggestions in the “Code” section of your repository.

Loading history...
24
{
25
    /** @var \Ivory\HttpAdapter\Message\ResponseInterface[] */
26
    private $responses;
27
28
    /** @var \Ivory\HttpAdapter\HttpAdapterException[] */
29
    private $exceptions = array();
30
31
    /**
32
     * Creates a multi request sent event.
33
     *
34
     * @param \Ivory\HttpAdapter\HttpAdapterInterface        $httpAdapter The http adapter.
35
     * @param \Ivory\HttpAdapter\Message\ResponseInterface[] $responses   The responses.
36
     */
37
    public function __construct(HttpAdapterInterface $httpAdapter, array $responses)
38
    {
39
        parent::__construct($httpAdapter);
40
41
        $this->setResponses($responses);
42
    }
43
44
    /**
45
     * Clears the responses.
46
     */
47
    public function clearResponses()
48
    {
49
        $this->responses = array();
50
    }
51
52
    /**
53
     * Checks if there are responses.
54
     *
55
     * @return boolean TRUE if there are responses else FALSE.
56
     */
57
    public function hasResponses()
58
    {
59
        return !empty($this->responses);
60
    }
61
62
    /**
63
     * Gets the responses.
64
     *
65
     * @return \Ivory\HttpAdapter\Message\ResponseInterface[] The responses.
66
     */
67
    public function getResponses()
68
    {
69
        return $this->responses;
70
    }
71
72
    /**
73
     * Sets the responses.
74
     *
75
     * @param \Ivory\HttpAdapter\Message\ResponseInterface[] $responses The responses.
76
     */
77
    public function setResponses(array $responses)
78
    {
79
        $this->clearResponses();
80
        $this->addResponses($responses);
81
    }
82
83
    /**
84
     * Adds the responses.
85
     *
86
     * @param \Ivory\HttpAdapter\Message\ResponseInterface[] $responses The responses.
87
     */
88
    public function addResponses(array $responses)
89
    {
90
        foreach ($responses as $response) {
91
            $this->addResponse($response);
92
        }
93
    }
94
95
    /**
96
     * Removes the responses.
97
     *
98
     * @param \Ivory\HttpAdapter\Message\ResponseInterface[] $responses The responses.
99
     */
100
    public function removeResponses(array $responses)
101
    {
102
        foreach ($responses as $response) {
103
            $this->removeResponse($response);
104
        }
105
    }
106
107
    /**
108
     * Checks if there is a response.
109
     *
110
     * @param \Ivory\HttpAdapter\Message\ResponseInterface $response The response.
111
     *
112
     * @return boolean TRUE if there is the response else FALSE.
113
     */
114
    public function hasResponse(ResponseInterface $response)
115
    {
116
        return array_search($response, $this->responses, true) !== false;
117
    }
118
119
    /**
120
     * Adds a response.
121
     *
122
     * @param \Ivory\HttpAdapter\Message\ResponseInterface $response The response.
123
     */
124
    public function addResponse(ResponseInterface $response)
125
    {
126
        $this->responses[] = $response;
127
    }
128
129
    /**
130
     * Removes a response.
131
     *
132
     * @param \Ivory\HttpAdapter\Message\ResponseInterface $response The response.
133
     */
134
    public function removeResponse(ResponseInterface $response)
135
    {
136
        unset($this->responses[array_search($response, $this->responses, true)]);
137
        $this->responses = array_values($this->responses);
138
    }
139
140
    /**
141
     * Clears the exceptions.
142
     */
143
    public function clearExceptions()
144
    {
145
        $this->exceptions = array();
146
    }
147
148
    /**
149
     * Checks if there are exceptions.
150
     *
151
     * @return boolean TRUE if there are exceptions else FALSE.
152
     */
153
    public function hasExceptions()
154
    {
155
        return !empty($this->exceptions);
156
    }
157
158
    /**
159
     * Gets the exceptions.
160
     *
161
     * @return \Ivory\HttpAdapter\HttpAdapterException[] The exceptions.
162
     */
163
    public function getExceptions()
164
    {
165
        return $this->exceptions;
166
    }
167
168
    /**
169
     * Sets the exceptions.
170
     *
171
     * @param \Ivory\HttpAdapter\HttpAdapterException[] $exceptions The exceptions.
172
     */
173
    public function setExceptions(array $exceptions)
174
    {
175
        $this->clearExceptions();
176
        $this->addExceptions($exceptions);
177
    }
178
179
    /**
180
     * Adds the exceptions.
181
     *
182
     * @param \Ivory\HttpAdapter\HttpAdapterException[] $exceptions The exceptions.
183
     */
184
    public function addExceptions(array $exceptions)
185
    {
186
        foreach ($exceptions as $exception) {
187
            $this->addException($exception);
188
        }
189
    }
190
191
    /**
192
     * Removes the exceptions.
193
     *
194
     * @param \Ivory\HttpAdapter\HttpAdapterException[] $exceptions The exceptions.
195
     */
196
    public function removeExceptions(array $exceptions)
197
    {
198
        foreach ($exceptions as $exception) {
199
            $this->removeException($exception);
200
        }
201
    }
202
203
    /**
204
     * Checks if there is an exception.
205
     *
206
     * @param \Ivory\HttpAdapter\HttpAdapterException $exception The exception.
207
     *
208
     * @return boolean TRUE if there is the exception else FALSE.
209
     */
210
    public function hasException(HttpAdapterException $exception)
211
    {
212
        return array_search($exception, $this->exceptions, true) !== false;
213
    }
214
215
    /**
216
     * Adds an exception.
217
     *
218
     * @param \Ivory\HttpAdapter\HttpAdapterException $exception The exception
219
     */
220
    public function addException(HttpAdapterException $exception)
221
    {
222
        $this->exceptions[] = $exception;
223
    }
224
225
    /**
226
     * Removes an exception.
227
     *
228
     * @param \Ivory\HttpAdapter\HttpAdapterException $exception The exception.
229
     */
230
    public function removeException(HttpAdapterException $exception)
231
    {
232
        unset($this->exceptions[array_search($exception, $this->exceptions, true)]);
233
        $this->exceptions = array_values($this->exceptions);
234
    }
235
}
236