@@ -58,10 +58,10 @@ public function addDelete($url, $query_parameters = array(), $data = array())
58
58
$ url = $ this ->baseUrl ;
59
59
}
60
60
$ curl = new Curl ();
61
+ $ this ->queueHandle ($ curl );
61
62
$ curl ->setUrl ($ url , $ query_parameters );
62
63
$ curl ->setOpt (CURLOPT_CUSTOMREQUEST , 'DELETE ' );
63
64
$ curl ->setOpt (CURLOPT_POSTFIELDS , $ curl ->buildPostData ($ data ));
64
- $ this ->queueHandle ($ curl );
65
65
return $ curl ;
66
66
}
67
67
@@ -77,6 +77,7 @@ public function addDelete($url, $query_parameters = array(), $data = array())
77
77
public function addDownload ($ url , $ mixed_filename )
78
78
{
79
79
$ curl = new Curl ();
80
+ $ this ->queueHandle ($ curl );
80
81
$ curl ->setUrl ($ url );
81
82
82
83
// Use tmpfile() or php://temp to avoid "Too many open files" error.
@@ -95,7 +96,6 @@ public function addDownload($url, $mixed_filename)
95
96
$ curl ->setOpt (CURLOPT_FILE , $ curl ->fileHandle );
96
97
$ curl ->setOpt (CURLOPT_CUSTOMREQUEST , 'GET ' );
97
98
$ curl ->setOpt (CURLOPT_HTTPGET , true );
98
- $ this ->queueHandle ($ curl );
99
99
return $ curl ;
100
100
}
101
101
@@ -115,10 +115,10 @@ public function addGet($url, $data = array())
115
115
$ url = $ this ->baseUrl ;
116
116
}
117
117
$ curl = new Curl ();
118
+ $ this ->queueHandle ($ curl );
118
119
$ curl ->setUrl ($ url , $ data );
119
120
$ curl ->setOpt (CURLOPT_CUSTOMREQUEST , 'GET ' );
120
121
$ curl ->setOpt (CURLOPT_HTTPGET , true );
121
- $ this ->queueHandle ($ curl );
122
122
return $ curl ;
123
123
}
124
124
@@ -138,10 +138,10 @@ public function addHead($url, $data = array())
138
138
$ url = $ this ->baseUrl ;
139
139
}
140
140
$ curl = new Curl ();
141
+ $ this ->queueHandle ($ curl );
141
142
$ curl ->setUrl ($ url , $ data );
142
143
$ curl ->setOpt (CURLOPT_CUSTOMREQUEST , 'HEAD ' );
143
144
$ curl ->setOpt (CURLOPT_NOBODY , true );
144
- $ this ->queueHandle ($ curl );
145
145
return $ curl ;
146
146
}
147
147
@@ -161,10 +161,10 @@ public function addOptions($url, $data = array())
161
161
$ url = $ this ->baseUrl ;
162
162
}
163
163
$ curl = new Curl ();
164
+ $ this ->queueHandle ($ curl );
164
165
$ curl ->setUrl ($ url , $ data );
165
166
$ curl ->removeHeader ('Content-Length ' );
166
167
$ curl ->setOpt (CURLOPT_CUSTOMREQUEST , 'OPTIONS ' );
167
- $ this ->queueHandle ($ curl );
168
168
return $ curl ;
169
169
}
170
170
@@ -184,11 +184,11 @@ public function addPatch($url, $data = array())
184
184
$ url = $ this ->baseUrl ;
185
185
}
186
186
$ curl = new Curl ();
187
+ $ this ->queueHandle ($ curl );
187
188
$ curl ->setUrl ($ url );
188
189
$ curl ->removeHeader ('Content-Length ' );
189
190
$ curl ->setOpt (CURLOPT_CUSTOMREQUEST , 'PATCH ' );
190
191
$ curl ->setOpt (CURLOPT_POSTFIELDS , $ data );
191
- $ this ->queueHandle ($ curl );
192
192
return $ curl ;
193
193
}
194
194
@@ -213,6 +213,7 @@ public function addPost($url, $data = array(), $follow_303_with_post = false)
213
213
}
214
214
215
215
$ curl = new Curl ();
216
+ $ this ->queueHandle ($ curl );
216
217
217
218
if (is_array ($ data ) && empty ($ data )) {
218
219
$ curl ->removeHeader ('Content-Length ' );
@@ -230,7 +231,6 @@ public function addPost($url, $data = array(), $follow_303_with_post = false)
230
231
231
232
$ curl ->setOpt (CURLOPT_POST , true );
232
233
$ curl ->setOpt (CURLOPT_POSTFIELDS , $ curl ->buildPostData ($ data ));
233
- $ this ->queueHandle ($ curl );
234
234
return $ curl ;
235
235
}
236
236
@@ -250,14 +250,14 @@ public function addPut($url, $data = array())
250
250
$ url = $ this ->baseUrl ;
251
251
}
252
252
$ curl = new Curl ();
253
+ $ this ->queueHandle ($ curl );
253
254
$ curl ->setUrl ($ url );
254
255
$ curl ->setOpt (CURLOPT_CUSTOMREQUEST , 'PUT ' );
255
256
$ put_data = $ curl ->buildPostData ($ data );
256
257
if (is_string ($ put_data )) {
257
258
$ curl ->setHeader ('Content-Length ' , strlen ($ put_data ));
258
259
}
259
260
$ curl ->setOpt (CURLOPT_POSTFIELDS , $ put_data );
260
- $ this ->queueHandle ($ curl );
261
261
return $ curl ;
262
262
}
263
263
@@ -277,14 +277,14 @@ public function addSearch($url, $data = array())
277
277
$ url = $ this ->baseUrl ;
278
278
}
279
279
$ curl = new Curl ();
280
+ $ this ->queueHandle ($ curl );
280
281
$ curl ->setUrl ($ url );
281
282
$ curl ->setOpt (CURLOPT_CUSTOMREQUEST , 'SEARCH ' );
282
283
$ put_data = $ curl ->buildPostData ($ data );
283
284
if (is_string ($ put_data )) {
284
285
$ curl ->setHeader ('Content-Length ' , strlen ($ put_data ));
285
286
}
286
287
$ curl ->setOpt (CURLOPT_POSTFIELDS , $ put_data );
287
- $ this ->queueHandle ($ curl );
288
288
return $ curl ;
289
289
}
290
290
@@ -495,6 +495,7 @@ public function setCookieJar($cookie_jar)
495
495
public function setHeader ($ key , $ value )
496
496
{
497
497
$ this ->headers [$ key ] = $ value ;
498
+ $ this ->updateHeaders ();
498
499
}
499
500
500
501
/**
@@ -510,6 +511,7 @@ public function setHeaders($headers)
510
511
foreach ($ headers as $ key => $ value ) {
511
512
$ this ->headers [$ key ] = $ value ;
512
513
}
514
+ $ this ->updateHeaders ();
513
515
}
514
516
515
517
/**
@@ -783,6 +785,18 @@ public function __destruct()
783
785
$ this ->close ();
784
786
}
785
787
788
+ /**
789
+ * Update Headers
790
+ *
791
+ * @access private
792
+ */
793
+ private function updateHeaders ()
794
+ {
795
+ foreach ($ this ->curls as $ curl ) {
796
+ $ curl ->setHeaders ($ this ->headers );
797
+ }
798
+ }
799
+
786
800
/**
787
801
* Queue Handle
788
802
*
@@ -795,6 +809,8 @@ private function queueHandle($curl)
795
809
$ curl ->id = $ this ->nextCurlId ++;
796
810
$ curl ->isChildOfMultiCurl = true ;
797
811
$ this ->curls [$ curl ->id ] = $ curl ;
812
+
813
+ $ curl ->setHeaders ($ this ->headers );
798
814
}
799
815
800
816
/**
@@ -829,7 +845,6 @@ private function initHandle($curl)
829
845
}
830
846
831
847
$ curl ->setOpts ($ this ->options );
832
- $ curl ->setHeaders ($ this ->headers );
833
848
$ curl ->setRetry ($ this ->retry );
834
849
$ curl ->setCookies ($ this ->cookies );
835
850
0 commit comments