@@ -46,12 +46,10 @@ public function __construct() {}
46
46
*/
47
47
public function get ($ actions ) {
48
48
$ this ->validateActionArray ($ actions );
49
-
50
- // set up curl handles
51
49
$ this ->curlMultiSetup (count ($ actions ));
52
50
$ this ->setRequestUrls ($ actions );
53
51
foreach ($ this ->curlHandles as $ curl ) {
54
- curl_setopt ($ curl , CURLOPT_HTTPGET , true ); // explicitly set the method to GET
52
+ curl_setopt ($ curl , CURLOPT_HTTPGET , true );
55
53
}
56
54
return $ this ->curlMultiExec ();
57
55
}
@@ -67,19 +65,12 @@ public function get($actions) {
67
65
* @throws \LengthException
68
66
*/
69
67
public function post ($ actions , $ data ) {
70
- $ this ->validateActionArray ($ actions );
71
- $ this ->validateDataArray ($ data );
72
- // verify that the number of data elements matches the number of action elements
73
- if (count ($ actions ) !== count ($ data )) {
74
- throw new \LengthException ('The number of actions requested does not match the number of data elements provided. ' );
75
- }
76
-
77
- // set up curl handles
68
+ $ this ->validateInputArrays ($ actions , $ data );
78
69
$ this ->curlMultiSetup (count ($ actions ));
79
70
$ this ->setRequestUrls ($ actions );
80
71
$ this ->setRequestDataArray ($ data );
81
72
foreach ($ this ->curlHandles as $ curl ) {
82
- curl_setopt ($ curl , CURLOPT_POST , true ); // explicitly set the method to POST
73
+ curl_setopt ($ curl , CURLOPT_POST , true );
83
74
}
84
75
return $ this ->curlMultiExec ();
85
76
}
@@ -95,19 +86,12 @@ public function post($actions, $data) {
95
86
* @throws \LengthException
96
87
*/
97
88
public function put ($ actions , $ data ) {
98
- $ this ->validateActionArray ($ actions );
99
- $ this ->validateDataArray ($ data );
100
- // verify that the number of data elements matches the number of action elements
101
- if (count ($ actions ) !== count ($ data )) {
102
- throw new \LengthException ('The number of actions requested does not match the number of data elements provided. ' );
103
- }
104
-
105
- // set up curl handles
89
+ $ this ->validateInputArrays ($ actions , $ data );
106
90
$ this ->curlMultiSetup (count ($ actions ));
107
91
$ this ->setRequestUrls ($ actions );
108
92
$ this ->setRequestDataArray ($ data );
109
93
foreach ($ this ->curlHandles as $ curl ) {
110
- curl_setopt ($ curl , CURLOPT_CUSTOMREQUEST , 'PUT ' ); // explicitly set the method to PUT
94
+ curl_setopt ($ curl , CURLOPT_CUSTOMREQUEST , 'PUT ' );
111
95
}
112
96
return $ this ->curlMultiExec ();
113
97
}
@@ -124,12 +108,10 @@ public function put($actions, $data) {
124
108
*/
125
109
public function delete ($ actions ) {
126
110
$ this ->validateActionArray ($ actions );
127
-
128
- // set up curl handles
129
111
$ this ->curlMultiSetup (count ($ actions ));
130
112
$ this ->setRequestUrls ($ actions );
131
113
foreach ($ this ->curlHandles as $ curl ) {
132
- curl_setopt ($ curl , CURLOPT_CUSTOMREQUEST , 'DELETE ' ); // explicitly set the method to DELETE
114
+ curl_setopt ($ curl , CURLOPT_CUSTOMREQUEST , 'DELETE ' );
133
115
}
134
116
return $ this ->curlMultiExec ();
135
117
}
@@ -145,8 +127,6 @@ public function delete($actions) {
145
127
*/
146
128
public function head ($ actions ) {
147
129
$ this ->validateActionArray ($ actions );
148
-
149
- // set up curl handles
150
130
$ this ->curlMultiSetup (count ($ actions ));
151
131
$ this ->setRequestUrls ($ actions );
152
132
foreach ($ this ->curlHandles as $ curl ) {
@@ -235,7 +215,7 @@ private function curlMultiExec() {
235
215
}
236
216
237
217
// process the results. Note there could be individual errors on specific calls
238
- $ curlMultiHttpResponse = new CurlMultiHttpResponse ();
218
+ $ curlMultiResponse = new CurlMultiHttpResponse ();
239
219
foreach ($ this ->curlHandles as $ curl ) {
240
220
try {
241
221
$ response = new CurlHttpResponse (
@@ -250,10 +230,10 @@ private function curlMultiExec() {
250
230
$ e
251
231
);
252
232
}
253
- $ curlMultiHttpResponse ->addResponse ($ response );
233
+ $ curlMultiResponse ->addResponse ($ response );
254
234
}
255
235
$ this ->curlMultiTeardown ();
256
- return $ curlMultiHttpResponse ;
236
+ return $ curlMultiResponse ;
257
237
}
258
238
259
239
/**
@@ -282,6 +262,23 @@ private function setRequestDataArray(array $data) {
282
262
}
283
263
}
284
264
265
+ /**
266
+ * Method to provide validation to action and data arrays for POST/PUT methods
267
+ *
268
+ * @param string[] $actions
269
+ * @param mixed[] $data
270
+ * @return void
271
+ * @throws \InvalidArgumentException
272
+ * @throws \LengthException
273
+ */
274
+ private function validateInputArrays (array $ actions , array $ data ) {
275
+ $ this ->validateActionArray ($ actions );
276
+ $ this ->validateDataArray ($ data );
277
+ if (count ($ actions ) !== count ($ data )) {
278
+ throw new \LengthException ('The number of actions requested does not match the number of data elements provided. ' );
279
+ }
280
+ }
281
+
285
282
/**
286
283
* Method to provide common validation for action array parameters
287
284
*
0 commit comments