-GET example:</p><pre><blockquote><code><font color="#000000"><br />
-<font color="#0000BB"><?php<br />$r </font><font color="#007700">= new </font><font color="#0000BB">HttpRequest</font><font color="#007700">(</font><font color="#DD0000">'http://example.com/feed.rss'</font><font color="#007700">, </font><font color="#0000BB">HTTP_GET</font><font color="#007700">);<br /></font><font color="#0000BB">$r</font><font color="#007700">-></font><font color="#0000BB">setOptions</font><font color="#007700">(array(</font><font color="#DD0000">'lastmodified' </font><font color="#007700">=> </font><font color="#0000BB">filemtime</font><font color="#007700">(</font><font color="#DD0000">'local.rss'</font><font color="#007700">)));<br /></font><font color="#0000BB">$r</font><font color="#007700">-></font><font color="#0000BB">addQueryData</font><font color="#007700">(array(</font><font color="#DD0000">'category' </font><font color="#007700">=> </font><font color="#0000BB">3</font><font color="#007700">));<br /></font><font color="#0000BB">try </font><font color="#007700">{<br /> </font><font color="#0000BB">$r</font><font color="#007700">-></font><font color="#0000BB">send</font><font color="#007700">();<br /> if (</font><font color="#0000BB">$r</font><font color="#007700">-></font><font color="#0000BB">getResponseCode</font><font color="#007700">() == </font><font color="#0000BB">200</font><font color="#007700">) {<br /> </font><font color="#0000BB">file_put_contents</font><font color="#007700">(</font><font color="#DD0000">'local.rss'</font><font color="#007700">, </font><font color="#0000BB">$r</font><font color="#007700">-></font><font color="#0000BB">getResponseBody</font><font color="#007700">());<br /> }<br />} </font><font color="#0000BB">catch </font><font color="#007700">(</font><font color="#0000BB">HttpException $ex</font><font color="#007700">) {<br /> echo </font><font color="#0000BB">$ex</font><font color="#007700">;<br />}<br /></font><font color="#0000BB">?></font><br />
-</font><br />
-</code></blockquote></pre><p>POST example:</p><pre><blockquote><code><font color="#000000"><br />
-<font color="#0000BB"><?php<br />$r </font><font color="#007700">= new </font><font color="#0000BB">HttpRequest</font><font color="#007700">(</font><font color="#DD0000">'http://example.com/form.php'</font><font color="#007700">, </font><font color="#0000BB">HTTP_POST</font><font color="#007700">);<br /></font><font color="#0000BB">$r</font><font color="#007700">-></font><font color="#0000BB">setOptions</font><font color="#007700">(array(</font><font color="#DD0000">'cookies' </font><font color="#007700">=> array(</font><font color="#DD0000">'lang' </font><font color="#007700">=> </font><font color="#DD0000">'de'</font><font color="#007700">)));<br /></font><font color="#0000BB">$r</font><font color="#007700">-></font><font color="#0000BB">addpostFields</font><font color="#007700">(array(</font><font color="#DD0000">'user' </font><font color="#007700">=> </font><font color="#DD0000">'mike'</font><font color="#007700">, </font><font color="#DD0000">'pass' </font><font color="#007700">=> </font><font color="#DD0000">'s3c|r3t'</font><font color="#007700">));<br /></font><font color="#0000BB">$r</font><font color="#007700">-></font><font color="#0000BB">addPostFile</font><font color="#007700">(</font><font color="#DD0000">'image'</font><font color="#007700">, </font><font color="#DD0000">'profile.jpg'</font><font color="#007700">, </font><font color="#DD0000">'image/jpeg'</font><font color="#007700">);<br />if (</font><font color="#0000BB">$r</font><font color="#007700">-></font><font color="#0000BB">send</font><font color="#007700">()) {<br /> echo </font><font color="#0000BB">$r</font><font color="#007700">-></font><font color="#0000BB">getResponseBody</font><font color="#007700">();<br />}<br /></font><font color="#0000BB">?></font><br />
-</font><br />
+GET example:</p><pre><blockquote><code><span style="color: #000000"><br />
+<span style="color: #0000BB"><?php<br />$r </span><span style="color: #007700">= new </span><span style="color: #0000BB">HttpRequest</span><span style="color: #007700">(</span><span style="color: #DD0000">'http://example.com/feed.rss'</span><span style="color: #007700">, </span><span style="color: #0000BB">HTTP_GET</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$r</span><span style="color: #007700">-></span><span style="color: #0000BB">setOptions</span><span style="color: #007700">(array(</span><span style="color: #DD0000">'lastmodified' </span><span style="color: #007700">=> </span><span style="color: #0000BB">filemtime</span><span style="color: #007700">(</span><span style="color: #DD0000">'local.rss'</span><span style="color: #007700">)));<br /></span><span style="color: #0000BB">$r</span><span style="color: #007700">-></span><span style="color: #0000BB">addQueryData</span><span style="color: #007700">(array(</span><span style="color: #DD0000">'category' </span><span style="color: #007700">=> </span><span style="color: #0000BB">3</span><span style="color: #007700">));<br />try {<br /> </span><span style="color: #0000BB">$r</span><span style="color: #007700">-></span><span style="color: #0000BB">send</span><span style="color: #007700">();<br /> if (</span><span style="color: #0000BB">$r</span><span style="color: #007700">-></span><span style="color: #0000BB">getResponseCode</span><span style="color: #007700">() == </span><span style="color: #0000BB">200</span><span style="color: #007700">) {<br /> </span><span style="color: #0000BB">file_put_contents</span><span style="color: #007700">(</span><span style="color: #DD0000">'local.rss'</span><span style="color: #007700">, </span><span style="color: #0000BB">$r</span><span style="color: #007700">-></span><span style="color: #0000BB">getResponseBody</span><span style="color: #007700">());<br /> }<br />} catch (</span><span style="color: #0000BB">HttpException $ex</span><span style="color: #007700">) {<br /> echo </span><span style="color: #0000BB">$ex</span><span style="color: #007700">;<br />}<br /></span><span style="color: #0000BB">?></span><br />
+</span><br />
+</code></blockquote></pre><p>POST example:</p><pre><blockquote><code><span style="color: #000000"><br />
+<span style="color: #0000BB"><?php<br />$r </span><span style="color: #007700">= new </span><span style="color: #0000BB">HttpRequest</span><span style="color: #007700">(</span><span style="color: #DD0000">'http://example.com/form.php'</span><span style="color: #007700">, </span><span style="color: #0000BB">HTTP_POST</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">$r</span><span style="color: #007700">-></span><span style="color: #0000BB">setOptions</span><span style="color: #007700">(array(</span><span style="color: #DD0000">'cookies' </span><span style="color: #007700">=> array(</span><span style="color: #DD0000">'lang' </span><span style="color: #007700">=> </span><span style="color: #DD0000">'de'</span><span style="color: #007700">)));<br /></span><span style="color: #0000BB">$r</span><span style="color: #007700">-></span><span style="color: #0000BB">addpostFields</span><span style="color: #007700">(array(</span><span style="color: #DD0000">'user' </span><span style="color: #007700">=> </span><span style="color: #DD0000">'mike'</span><span style="color: #007700">, </span><span style="color: #DD0000">'pass' </span><span style="color: #007700">=> </span><span style="color: #DD0000">'s3c|r3t'</span><span style="color: #007700">));<br /></span><span style="color: #0000BB">$r</span><span style="color: #007700">-></span><span style="color: #0000BB">addPostFile</span><span style="color: #007700">(</span><span style="color: #DD0000">'image'</span><span style="color: #007700">, </span><span style="color: #DD0000">'profile.jpg'</span><span style="color: #007700">, </span><span style="color: #DD0000">'image/jpeg'</span><span style="color: #007700">);<br />if (</span><span style="color: #0000BB">$r</span><span style="color: #007700">-></span><span style="color: #0000BB">send</span><span style="color: #007700">()) {<br /> echo </span><span style="color: #0000BB">$r</span><span style="color: #007700">-></span><span style="color: #0000BB">getResponseBody</span><span style="color: #007700">();<br />}<br /></span><span style="color: #0000BB">?></span><br />
+</span><br />
+</code></blockquote><br />
+<br />
+</pre></p>
+<h2 id="HttpRequestPool" class="o">HttpRequestPool</h2>
+<h3 id="HttpRequestPool___construct">void HttpRequestPool::__construct()</h3>
+<p>Instantiate a new HttpRequestPool object. An HttpRequestPool is<br />
+able to send several HttpRequests in parallel.<br />
+<br />
+Example:</p><pre><blockquote><code><span style="color: #000000"><br />
+<span style="color: #0000BB"><?php<br /> $urls </span><span style="color: #007700">= array(</span><span style="color: #DD0000">'www.php.net'</span><span style="color: #007700">, </span><span style="color: #DD0000">'pecl.php.net'</span><span style="color: #007700">, </span><span style="color: #DD0000">'pear.php.net'</span><span style="color: #007700">)<br /> </span><span style="color: #0000BB">$pool </span><span style="color: #007700">= new </span><span style="color: #0000BB">HttpRequestPool</span><span style="color: #007700">;<br /> foreach (</span><span style="color: #0000BB">$urls </span><span style="color: #007700">as </span><span style="color: #0000BB">$url</span><span style="color: #007700">) {<br /> </span><span style="color: #0000BB">$req</span><span style="color: #007700">[</span><span style="color: #0000BB">$url</span><span style="color: #007700">] = new </span><span style="color: #0000BB">HttpRequest</span><span style="color: #007700">(</span><span style="color: #DD0000">"http://$url"</span><span style="color: #007700">, </span><span style="color: #0000BB">HTTP_HEAD</span><span style="color: #007700">);<br /> </span><span style="color: #0000BB">$pool</span><span style="color: #007700">-></span><span style="color: #0000BB">attach</span><span style="color: #007700">(</span><span style="color: #0000BB">$req</span><span style="color: #007700">[</span><span style="color: #0000BB">$url</span><span style="color: #007700">]);<br /> }<br /> </span><span style="color: #0000BB">$pool</span><span style="color: #007700">-></span><span style="color: #0000BB">send</span><span style="color: #007700">();<br /> foreach (</span><span style="color: #0000BB">$urls </span><span style="color: #007700">as </span><span style="color: #0000BB">$url</span><span style="color: #007700">) {<br /> </span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"%s (%s) is %s\n"</span><span style="color: #007700">, <br /> </span><span style="color: #0000BB">$url</span><span style="color: #007700">, </span><span style="color: #0000BB">$req</span><span style="color: #007700">[</span><span style="color: #0000BB">$url</span><span style="color: #007700">]-></span><span style="color: #0000BB">getResponseInfo</span><span style="color: #007700">(</span><span style="color: #DD0000">'effective_url'</span><span style="color: #007700">), <br /> </span><span style="color: #0000BB">$r</span><span style="color: #007700">-></span><span style="color: #0000BB">getResponseCode</span><span style="color: #007700">() == </span><span style="color: #0000BB">200 </span><span style="color: #007700">? </span><span style="color: #DD0000">'alive' </span><span style="color: #007700">: </span><span style="color: #DD0000">'not alive'<br /> </span><span style="color: #007700">);<br /> }<br /></span><span style="color: #0000BB">?></span><br />
+</span><br />
+</code></blockquote><br />
+<br />
+</pre></p>
+<h3 id="HttpRequestPool___destruct">void HttpRequestPool::__destruct()</h3>
+<p>Clean up HttpRequestPool object.</p>
+<h3 id="HttpRequestPool_reset">void HttpRequestPool::reset()</h3>
+<p>Detach all attached HttpRequest objects.</p>
+<h3 id="HttpRequestPool_attach">bool HttpRequestPool::attach(HttpRequest request)</h3>
+<p>Attach an HttpRequest object to this HttpRequestPool.<br />
+NOTE: set all options prior attaching!</p>
+<h3 id="HttpRequestPool_detach">bool HttpRequestPool::detach(HttpRequest request)</h3>
+<p>Detach an HttpRequest object from this HttpRequestPool.</p>
+<h3 id="HttpRequestPool_send">bool HttpRequestPool::send()</h3>
+<p>Send all attached HttpRequest objects in parallel.</p>
+<h3 id="HttpRequestPool_socketSend">protected bool HttpRequestPool::socketSend()</h3>
+<p>Usage:</p><pre><blockquote><code><span style="color: #000000"><br />
+<span style="color: #0000BB"><?php<br /> </span><span style="color: #007700">while (</span><span style="color: #0000BB">$pool</span><span style="color: #007700">-></span><span style="color: #0000BB">socketSend</span><span style="color: #007700">()) {<br /> </span><span style="color: #0000BB">do_something_else</span><span style="color: #007700">();<br /> if (!</span><span style="color: #0000BB">$pool</span><span style="color: #007700">-></span><span style="color: #0000BB">socketSelect</span><span style="color: #007700">()) {<br /> die(</span><span style="color: #DD0000">'Socket error'</span><span style="color: #007700">);<br /> }<br /> }<br /> </span><span style="color: #0000BB">$pool</span><span style="color: #007700">-></span><span style="color: #0000BB">socketRead</span><span style="color: #007700">();<br /></span><span style="color: #0000BB">?></span><br />
+</span><br />